У меня есть двойное значение 1.4291400000000001. Я хочу получить строковое представление этого двойного значения.
Какой самый лучший / стандартный способ получить 1.42914
А как же:
std::stringstream ss; ss << std::fixed << std::setprecision( N ) << double_number; // ss.str() gives you the string
Не гарантируется, что double будет иметь именно это значение: 1.4291400000000001.Это может быть немного больше или меньше.Гораздо менее хотелось бы быть именно таким.
double
1.4291400000000001
После этого я могу сказать, что нет лучшего способа получить 1.42914 от этого.Вместо этого вы можете получить 1.42913, поскольку фактическое двойное значение может быть: 1.4291399999999999 вместо указанного выше значения.
1.42914
1.42913
1.4291399999999999
Прочитайте это: Что должен знать каждый специалист по вычислительной технике об арифметике с плавающей точкой