среда, 21 января 2009 г.

Баг в ie7 при работе с функцией Number.toFixed()

Начало
Что-то я начал думать, что из математики что-нибудь забыл, поэтому решил проверить багу из ie в остальных популярных браузерах. Исходный код странички:

<html>
<body>
<div>Number.toFixed with 0.094</div>
<div id="val094"></div>

<div>Number.toFixed with 0.095</div>
<div id="val095"></div>

<div>Number.toFixed with 0.194</div>
<div id="val194"></div>

<div>Number.toFixed with 0.195</div>
<div id="val195"></div>

<script>

window.onload = function() {

var val094 = document.getElementById("val094");
val094.innerHTML = new Number(0.094).toFixed(1);

var val095 = document.getElementById("val095");
val095.innerHTML = new Number(0.095).toFixed(1);

var val194 = document.getElementById("val194");
val194.innerHTML = new Number(0.194).toFixed(1);

var val195 = document.getElementById("val195");
val195.innerHTML = new Number(0.195).toFixed(1);
}

</script>
</body>
</html>
Проверив, успокоился, т.к. ff3, opera 9.62, chrome 1.0.154.43 и safari 3.2.1 со мной солидарны... 0.094 при округлении до десятых долей всё-таки должны быть, вопреки мнению ie7, округлены до 0.1.