Проблема $ .formatNumber jquery API в IE - PullRequest
0 голосов
/ 03 ноября 2010

Я использую библиотеку jquery для форматирования чисел, доступную здесь http://code.google.com/p/jquery-numberformatter/

При использовании этой функции я обнаружил проблему в IE.

Следующий код

var number = "0.2343";
alert($.formatNumber(number, {format:"#,##0.00") );

возвращает 0.23 в Firefox, но .23 в IE Может кто-нибудь сказать мне, как я могу получить 0,23 в обоих случаях, пожалуйста?

Спасибо

Ответы [ 3 ]

2 голосов
/ 03 ноября 2010
parseFloat(number).toFixed(2).replace(".", ",")
1 голос
/ 03 ноября 2010

Я настоятельно рекомендую вам изменить вашу библиотеку на плагин jQuery Globalization (он будет частью ядра jQuery в версии 1.5+).Для получения дополнительной информации вы можете перейти по следующей ссылке в блоге ScottGu.

Плагин глобализации jQuery от Microsoft

0 голосов
/ 21 июня 2011

Прежде всего, вы форматируете из строки, а не из числа (с плавающей или двойной).Попробуйте изменить объявление на:

var number = 0.2343; //this is a double

или, если вы не можете изменить это String , , проанализируйте до float или double :

var number = parseFloat("0.2343"); //this is a float

Затем попробуйте изменить строку формата на ",##0.00".У меня это работает:

alert($.formatNumber(number, {format:",##0.00") );
...