В c #, есть ли причина для того, чтобы соседние # находились слева от десятичного формата? - PullRequest
0 голосов
/ 30 мая 2018

Я просматривал какой-то старый код в кодовой базе команды, который выполнял некоторое десятичное форматирование, например:

exampleDecimal.ToString("###.##")

В этом примере я не думаю, что первые 2 #полезно.Поскольку все # до . являются необязательными цифрами, это не всегда дает одинаковый результат:

exampleDecimal.ToString("#.##")

Однако я прочитал эту документацию на c # и я не смог окончательно решить, были ли эти 2 формата выше технически идентичными.Будут ли они всегда выдавать один и тот же вывод, или я пропускаю какой-то случай?

Ответы [ 2 ]

0 голосов
/ 30 мая 2018

Да, # и ## дают одинаковый вывод.

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

0 голосов
/ 30 мая 2018

Из ссылки на вашу цитируемую документацию:

Пользовательский спецификатор "#" Спецификатор пользовательского формата "#" служит символом-заполнителем.[...]

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

Так что, да, обе строки формата всегда будут давать одинаковые результаты.

...