2010-11-03 6 views
0

J'utilise une bibliothèque jquery formatter numéro ici http://code.google.com/p/jquery-numberformatter/

J'ai trouvé un problème dans IE lors de l'utilisation.

Le code suivant

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

retours 0,23 dans Firefox, mais .23 dans IE Quelqu'un pourrait-il me dire comment je peux obtenir 0,23 dans les deux cas s'il vous plaît?

Merci

Répondre

2
parseFloat(number).toFixed(2).replace(".", ",") 
+0

mais cela ne me donnerait pas le format séparé par des virgules. –

+0

oh, c'est vrai. n'a pas remarqué la virgule. fixé. –

+0

Je pense que vous manquez de comprendre cette question. Par exemple, si j'utilise "12345.6789" comme entrée, le résultat sera "12345,68" au lieu de "12,345.68". Un autre exemple, si j'utilise "1234" comme entrée, le résultat sera "1234" au lieu de "1 234,00" –

1

Je recommande fortement de changer votre bibliothèque jQuery mondialisation plug-in (Il est sera une partie de base jQuery dans la version 1.5+). Pour plus d'informations, vous pouvez visiter le lien suivant dans le blog de ScottGu.

jQuery Globalization Plugin from Microsoft

0

Tout d'abord, vous êtes mise en forme d'une chaîne, pas d'un numéro (flottant ou double). Essayez de changer la déclaration à:

var number = 0.2343; //this is a double 

ou, si vous ne pouvez pas modifier ce chaîne, analyse syntaxique à une double flotteur ou :

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

Ensuite, essayez de changer votre chaîne de format à ",##0.00". Cela fonctionne pour moi:

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