Как отформатировать 60: 01: 00 в текстовом поле? В vb.net - PullRequest
0 голосов
/ 06 ноября 2019

Я уже пробовал этот код, но ничего не происходит.

 textbox_testime.Text = String.Format("mm:ss")

1 Ответ

1 голос
/ 06 ноября 2019
Dim value As Double
'Ensure that the user input is valid before proceeding
If Double.TryParse(textbox_testime.Text, value) Then
    'Convert the input to Timespan
    Dim time As Timespan = Timespan.FromSeconds(value)
    'Format the Timespan and update your TextBox
    textbox_testime.Text = time.ToString("mm\m\:ss\s")
Else 
    'Do something else 
End If

Вы можете прочитать о пользовательском форматировании временного интервала здесь

Спецификаторы пользовательских форматов TimeSpan не включают символы-разделители-заполнители, такие как символы, разделяющие дниот часов, часов от минут или секунд от доли секунды. Вместо этого эти символы должны быть включены в строку пользовательского формата в виде строковых литералов.

Приведенный выше текст завершается использованием \, за которым следует разделитель (строковый литерал) по вашему выбору. \ обрабатывает только один символ. Таким образом, чтобы отформатировать интервал времени в 01m:00s, необходимо определить разделитель m: как \m & \:, а s - \s.

ToString () : time.ToString() ~> 00:01:00
Custom ToString () : time.ToString("mmss") ~> 0100
ToString () : time.ToString("mm\:ss") ~> 01:00
Пользовательский формат ToString () : time.ToString("mm\m\:\ss\s") ~> 01m:00s

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...