Показать сообщение отдельно
  #1 (permalink)  
Старый 22.08.2010, 18:05
DMH DMH вне форума
Аспирант
Отправить личное сообщение для DMH Посмотреть профиль Найти все сообщения от DMH
 
Регистрация: 26.02.2010
Сообщений: 71

Работа с дробными числами
<script>

function xxx(b) {

alert(b);

if (b < 1) { b = b + 0.1; setTimeout(function() { xxx(b); }, 1000); }

}
</script>

<input type="button" value="Send" onclick="xxx(0.1)">

В алерте получаю -
0.1
0.2
0.3000...0004
0.4
0.5
0.6
0.7
0.7999...9999
0.8999...9999
0.9999...9999
1.0999...9999

Причём по всех браузерах одно и тоже.
Решил проблему так: b = (b*10 + 1)/10;
Но всё же интересно узнать, почему 0.2 + 0.1 != 0.3.
Ответить с цитированием