Если я нахожу 0.3
в консоли Chrome, он печатает 0.3
назад у меня.Буквенное представление 0,3 в JavaScript
Это в основном говорит: «Вы ввели числовой литерал с содержимым 0.3
, и я воспроизвожу это представление обратно в консоль в удобное для вас время, хотя под капотом и на самом деле он не может быть точно представлен и лучшее приближение, которое я могу придумать, это 0.30000000000000004
"?
И '0.1 + 0.2' дает' 0.30000000000000004', потому что ошибки в представлении '0,1' и' 0,2' объединяются, чтобы дать результат, когда округлено до 17 значащих цифр '0.30000000000000004'. – Ben
@BenAston: Да. [Нет более короткой строки, которая может воссоздать это значение двойной точности] (http://www.exploringbinary.com/java-doesnt-print-the-shortest-strings-that-round-trip/). –