Nicomendox Ответов: 1

Как я могу отформатировать десятичное число ?


номер такой : 123456789.987654321

Как сделать этот формат (только основная часть номера) 123,456,789.987654321

Я имею в виду не трогать десятичные числа XXX,XXX,XXX.987654321

Я пытался поставить запятую через каждые 3 цифры, я нашел этот код, но не работал во всех числах.длина а также с десятичным числом

Я нашел эти коды, но они не работают, когда длина числа больше и если десятичные числа включены.

Что я уже пробовал:

<pre>Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
        Dim Number As String = TextBoxOprtr1.Text
        If Number.ToString.Length = 4 Then
            Dim FirstDigit As String = Mid(Number, 1, 1)
            Dim RemainingDigits As String = Mid(Number, 2, 3)
            TextBoxOprtr2.Text = FirstDigit & "," & RemainingDigits 'Data update statement goes here'
        End If
        If Number.ToString.Length = 5 Then
            Dim FirstDigits As String = Mid(Number, 1, 2)
            Dim RemainingDigits As String = Mid(Number, 3, 3)
            TextBoxOprtr2.Text = FirstDigits & "," & RemainingDigits
        End If

        If Number.ToString.Length = 6 Then
            Dim FirstDigits As String = Mid(Number, 1, 3)
            Dim RemainingDigits As String = Mid(Number, 4, 3)
            TextBoxOprtr2.Text = FirstDigits & "," & RemainingDigits
        End If
        If Number.ToString.Length = 7 Then
            Dim FirstDigits As String = Mid(Number, 1, 1)
            Dim NextDigits As String = Mid(Number, 2, 3)
            Dim RemainingDigits As String = Mid(Number, 5, 3)
            TextBoxOprtr2.Text = FirstDigits & "," & NextDigits & "," & RemainingDigits
        End If

1 Ответов

Рейтинг:
0

OriginalGriff

Считайте строку из текстового поля и используйте TryParse для преобразования ее в число. Если он не будет преобразован, то это не число, так что скажите пользователю и больше ничего не делайте.
Затем используйте строку.Формат для преобразования значения в строку, разделенную запятыми:

Dim result As String = String.Format("{0:#,##0.##}", x)


Richard Deeming

Или просто:

Dim result As String = x.ToString("#,##0.##")