#c# #tostring
#c# #tostring
Вопрос:
Я использую это:
dSize.ToString("#.#", System.Globalization.CultureInfo.CurrentCulture);
Где dSize
это double
. он отлично работает, когда dSize
имеет что-то вроде 2.5
, НО если dSize
имеет что-то вроде 3
— то есть у него нет десятичной части — он возвращает, "3"
что неверно. Я хочу, чтобы он возвращал "3.0"
so по-прежнему с одной десятичной точкой.
Есть мысли?
Ответ №1:
Используйте 0
, чтобы указать, что цифра должна быть напечатана, даже если она равна нулю:
dSize.ToString("#.0", System.Globalization.CultureInfo.CurrentCulture)
Это выведет .3
вместо 0.3
; если вы хотите, чтобы цифра перед десятичной точкой тоже была напечатана, используйте 0
там также:
dSize.ToString("0.0", System.Globalization.CultureInfo.CurrentCulture)
Ответ №2:
Использовать
dSize.ToString("#.0", CultureInfo.CurrentCulture);
#
является заполнителем цифр и будет напечатан, если в числе в этой позиции есть цифра.
0
это заполнитель цифр, который выведет цифру, если есть единица, или ноль, если в этой позиции нет числа.
Ответ №3:
Взгляните на строки пользовательского числового формата, а также на примеры вывода строк пользовательского числового формата в MSDN.
Они должны оказаться полезными в сочетании с ответом, предоставленным @ Timwi.