Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

JavaScript сложение - я наверное глючу...

24K
01 февраля 2007 года
Sacred_soul
6 / / 01.02.2007
Вот мат операция - сложение....
Вроде все правильно

<script language='javascript'>
alert(Number(2.1)+Number(3.2))
</script>

По идее, должо получиться 5.3 - так?
а получается 5.300000000000001

Проверял на IE и Mozilla

Кто нибудь может обьяснить - пачему? :confused:
256
01 февраля 2007 года
foxweb
1.0K / / 27.07.2005
потому что ты складываешь float и получаешь float.
так и должно быть. или ты считаешь, что разработчики браузеров считать не умеют?
24K
01 февраля 2007 года
Sacred_soul
6 / / 01.02.2007
То что я получил float эт понятно - но почему этот float такой длинный, а?
253
01 февраля 2007 года
Proger_XP
1.5K / / 07.08.2004
В PHP тоже самое. Из доков:
Цитата:

Точность числа с плавающей точкой
Довольно часто простые десятичные дроби вроде 0.1 или 0.7 не могут быть преобразованы в свои внутренние двоичные аналоги без небольшой потери точности. Это может привести к неожиданным результатам: например, floor((0.1+0.7)*10) скорее всего возвратит 7 вместо ожидаемой 8 как результат внутреннего представления числа, являющегося в действительности чем-то вроде 7.9999999999....

Это связано с невозможностью точно выразить некоторые дроби в десятичной системе счисления конечным числом цифр. Например, 1/3 в десятичной форме принимает вид 0.3333333. . ..

Так что никогда не доверяйте точности последних цифр в результатах с числами с плавающей точкой и никогда не проверяйте их на равенство. Если вам действительно необходима высокая точность, вам следует использовать математические функции произвольной точности или gmp-функции

24K
01 февраля 2007 года
Sacred_soul
6 / / 01.02.2007
Пасиба....значит эт не я глючу.
Нада будет чета сделать с конечным числом....округлить что-ли....
253
02 февраля 2007 года
Proger_XP
1.5K / / 07.08.2004
Math.round()
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог