иметь хорошее представление строки из двойного - PullRequest
3 голосов
/ 30 мая 2011

У меня есть двойное значение 1.4291400000000001. Я хочу получить строковое представление этого двойного значения.

Какой самый лучший / стандартный способ получить 1.42914

Ответы [ 2 ]

10 голосов
/ 30 мая 2011

А как же:

std::stringstream ss;
ss << std::fixed << std::setprecision( N ) << double_number;
// ss.str() gives you the string 
2 голосов
/ 30 мая 2011

Не гарантируется, что double будет иметь именно это значение: 1.4291400000000001.Это может быть немного больше или меньше.Гораздо менее хотелось бы быть именно таким.

После этого я могу сказать, что нет лучшего способа получить 1.42914 от этого.Вместо этого вы можете получить 1.42913, поскольку фактическое двойное значение может быть: 1.4291399999999999 вместо указанного выше значения.

Прочитайте это: Что должен знать каждый специалист по вычислительной технике об арифметике с плавающей точкой

...