Провод в событии onunload, которое ничего не делает:
<html><body>
<script type="text/javascript">
window.onload = function() { alert('window.onload alert'); };
window.onunload = function(){};
alert('inline alert');
</script>
<a href="1.html">Click Me!</a>
</body></html>
Взгляните на , Что Каждый Программист Должен Знать Об Арифметике С плавающей точкой .
Числа с плавающей точкой в компьютерах не представляют десятичные дроби точно. Вместо этого они представляют двоичный файл части. Большинство дробных чисел не имеет точного представления как двоичной дроби, таким образом, существует некоторое продолжение округления. Когда такая округленная двоичная дробь переводится назад в десятичную дробь, Вы получаете эффект, который Вы описываете.
Для хранения денежных значений, базы данных SQL обычно обеспечивают ДЕСЯТИЧНЫЙ тип, который хранит точные десятичные цифры. Этот формат немного менее эффективен, чтобы компьютеры имели дело с, но довольно полезно, когда Вы хотите избежать десятичных погрешностей округления.
Числа с плавающей точкой используют двоичные дроби, и они не соответствуют точно десятичным дробям.
За деньги, лучше или сохранить количество центов как целое число или использовать тип десятичного числа. Например, Десятичное число (8,2) хранилища 8 цифр включая 2 десятичных числа (xxxxxx.xx), т.е. к точности цента.
Короче говоря это по в значительной степени той же причине, что одной трети нельзя точно выразить в десятичном числе. Взгляните на классическую статью David Goldberg" , Что Каждый Программист Должен Знать Об Арифметике С плавающей точкой " для деталей.
Для добавления разъяснения числа с плавающей точкой, сохраненные в компьютере, ведут себя, как описано другими сообщениями здесь, потому что, как описано, это хранится в двоичном формате. Это означает, что, если это не значение (и мантисса и компоненты экспоненты значения) полномочия два и не могут быть представлены точно.
Некоторые системы, с другой стороны, сохраните дробные числа в десятичном числе (Десятичное число SQL Server, и типы Числовых данных и Тип данных Number Oracle, например), и затем их внутреннее представление, поэтому, точно для любого числа, которое является питанием 10. Но затем числа, которые не являются полномочиями 10, не могут быть представлены точно.