Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > .NET для новичков > Форматные строки


Автор: novice_ 18.1.2009, 16:30
Код

        static void Main(string[] args)
        {
            //Символы заполнители #.##
            double d1 = 0.031;
            double d2 = 1.035;

            Console.WriteLine("d1: {0:#.##}", d1);
            Console.WriteLine("d2: {0:#.##}", d2);

            Console.ReadKey();
        }


Вопрос
Почему такой вывод:
d1: ,03
d2: 1,04
А не:
d1: 0,03
d2: 1,04

Автор: mihryak 18.1.2009, 17:26
Код

            Console.WriteLine("d1: {0:0.00}", d1);
            Console.WriteLine("d2: {0:0.00}", d2);


Добавлено через 2 минуты и 18 секунд
http://msdn.microsoft.com/en-us/library/0c899ak8.aspx

Автор: novice_ 18.1.2009, 20:21
Спасибо за ссылку - замечательная статья.
По поводу моего вопроса - там есть ответ:

Цитата

Note that this specifier never displays the '0' character if it is not a significant digit, even if '0' is the only digit in the string. It will display the '0' character if it is a significant digit in the number being displayed.


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

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)