При работе с числами с плавающей точкой необходимо помнить, что не все версии браузеров возвращают абсолютно точное значение до последней цифры после запятой. Например, в следующей таблице показан результат операции 8/9, выполненной в различных браузерах (на платформе Windows 95), после преобразования в строковый тип:
| Navigator 2
Navigator 3
Navigator 4
Navigator 6
Internet Explorer 3
Internet Explorer 4+ |
0.1
.8888888888888888
.8888888888888888
0.8888888888888888
0.888888888888889
0.8888888888888888
|
Очевидно, что браузеры с поддержкой JavaScript не подходят для расчета траекторий космических полетов. Применяя JavaScript для несложных ежедневных расчетов необходимо не забывать об ошибках, присущих операциям с нецелочисленными данными.
В Navigator язык JavaScript использует математику самой ОС. Системы, поддерживающие такую точность, которую обеспечивает JavaScript , довольно редки. Как можно заметить из таблицы, современные браузеры (и Netscape, и Microsoft ) сходятся на том, сколько чисел после запятой следует отображать и как проводить округление. Это хорошо для расчетов, но не очень удобно, когда числа нужно выводить в определенном формате.
В версиях, предшествующих IЕ5.5 и NN6, JavaScript не поддерживает методов форматирования числовых результатов с плавающей точкой. (См. методы форматирования объекта Number в современных браузерах далее в этой главе.) В листинге (ниже) представлена универсальная процедура форматирования положительных значений, а также специальная процедура для преобразования числа к денежному формату. После удаления комментариев она представляется достаточно компактно.