Как использовать родной секундомер с меньшим количеством знаков после запятой?
В Visual Basic 2010, как вы используете встроенную функцию секундомера для меньшей точности / с меньшим количеством десятичных знаков. Я строю секундомер. Он работает довольно хорошо, но имеет низкую частоту кадров (около 5-10 кадров в секунду), потому что секундомер генерирует около 10 знаков после запятой! Вот мой код, чтобы уменьшить количество десятичных разрядов:
Private Sub Timer1_Tick(sender As System.Object, e As System.EventArgs) Handles Timer1.Tick
rounded = Convert.ToDecimal(stopwatch1.Elapsed)
rounded2 = Decimal.Round(rounded, 2)
Label1.Text = Convert.ToString(rounded2)
End Sub
Любая помощь?
Спасибо!
2 ответа
Я думаю, что ваши лучшие варианты - это просто использовать пользовательский формат для значения Elapsed (которое является интервалом времени), например:
Private Sub Timer1_Tick(sender As System.Object, e As System.EventArgs) Handles Timer1.Tick
Label1.Text = stopwatch1.Elapsed.ToString("dd\.hh\:mm\:ss\.fff")
End Sub
где fff
необязательное количество миллисекунд, которое вам требуется - просто укажите более или менее f
это как хочешь.
Обратите внимание, что это не будет округлять значение, но в случае секундомера вы не захотите его округлять.
Я думаю, что ваша проблема с таймером, а не с секундомером. Попробуйте установить интервал на более высокое значение.
Также, если вы используете DateTimePicker вместо метки, вы можете легче контролировать формат.