Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Сложение в js (https://javascript.ru/forum/misc/68900-slozhenie-v-js.html)

Nexus 16.05.2017 12:53

Сложение в js
 
Здравствуйте.

Подскажите, пожалуйста, почему в js 0.15+1.2!=1.35?
alert(0.15+1.2)


Заранее благодарю.

рони 16.05.2017 13:12

Nexus,
тема очень популярная, это связано с тем как js сохраняет данные.

неточные-вычисления

SV0L0CH 16.05.2017 13:13

Бинарное представление плавающих чисел может отличаться на некоторое значение даже если в десятичном виде они выглядят одинаково.

Nexus 16.05.2017 14:45

рони, SV0L0CH, спасибо.

Rise 16.05.2017 23:39

И не только плавающих, есть такие константы безопасных целых:
Number.MIN_SAFE_INTEGER // -9007199254740991
Number.MAX_SAFE_INTEGER // 9007199254740991
за пределами которых может происходить такое:
9007199254740992 == 9007199254740993 // true
-9007199254740992 + 9007199254740993 // 0

Nexus 17.05.2017 09:17

Rise, благодарю.


Часовой пояс GMT +3, время: 05:17.