Поскольку в строке формата #
используется для обозначения необязательного символьного заполнителя; используется только если необходимо для представления числа.
Если вы сделаете это вместо: 0.ToString("0.##");
, вы получите: 0
Интересно, если вы сделаете это: 0.ToString("#.0#");
вы получите: .0
Если вам нужны все три цифры: 0.ToString("0.00");
выдает: 0.00
Из комментариев к этому ответу ваш аргумент выглядит так:
он должен показывать '0', потому что зачем кому-то видеть пустую строку, если числовое значение равно 0?
Ответ прост: У вас есть выбор , как вы хотите, чтобы он отображался. Вот для чего нужны строки нестандартного формата. Вы просто выбрали неверную строку формата для своих нужд .