Visual Basi c: простой счетчик с ведущим нулем - PullRequest
0 голосов
/ 03 августа 2020

Я пытаюсь создать простой счетчик, который увеличивается при нажатии кнопки. Я бы хотел, чтобы при щелчке по счетчику отображалось «01», «02» и c.

Я могу создать его уже с «1», «2», но я хотел бы иметь начальный ноль.

Я поискал и обнаружил, что могу сделать это, преобразовав метку в строку, но я не могу получить значение для подсчета?

Если я изменю «count. text = counter "to" count.text = cot "будет отображаться" 01 ", но не будет. Я предполагаю, что это связано с тем, что он отображает только то, что в данный момент находится в строке, но не увеличивает значение?

Если бы я мог получить какое-либо руководство, было бы здорово!

Большое спасибо !

Dim counter As Integer = 1
Dim cot As String = String.Format("{0:00}", counter)
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

    counter = cot + 1
    count.Text = counter
End Sub

Ответы [ 3 ]

0 голосов
/ 03 августа 2020

PadLeft - это ключ.

Dim number as Integer = 12
Console.WriteLine(number.ToString().PadLeft(2, "0")). ' prints 12
number = 2
Console.WriteLine(number.ToString().PadLeft(2, "0")). ' prints 02
0 голосов
/ 03 августа 2020

Это должно помочь вам начать ...

он преобразует строку в целое число. увеличивает число, преобразует его обратно в строку, а затем проверяет наличие ведущего 0, если не найдено, добавляет его.

Я позволю вам преобразовать его в кнопку для практики, так как это должно помочь вам хорошее понимание преобразования между типами :)

Sub string_counter()

Dim string_counter As String

    string_counter = "00"
    
    For x = 0 To 10
    
        Debug.Print string_counter
        
        string_counter = Int(string_counter) + 1
        string_counter = Str(string_counter)
    
        If Left(Trim(string_counter), 1) <> "0" Then
            string_counter = "0" + Trim(string_counter)
        End If
        
    Next x

End Sub
0 голосов
/ 03 августа 2020

Проблема в том, что вы неправильно обновляете отформатированный номер. Он инициализируется только один раз.

Чтобы увеличить счетчик, используйте сначала counter += 1 или counter = counter + 1. Это добавит 1 к текущему значению целочисленной переменной. Затем измените текст вашего Label, снова вызвав этот код форматирования: count.Text = String.Format("{0:00}", counter).

...