Si vous le faites ...
var parsed = JSON.parse('{"myNum":0.0}') ;
4 Réponses :
... parsed.myNum.toFixed( 1 ) ...
where 1 is number of decimal placesEdit: parsed.myNum is number, parsed.myNym.toFixed( 1 ) would be stringEdit2: in this case you need to pass value as string {"myNum":'0.0'} and parsed when calculations is needed or detect decimal separator, parsed number, and use decimal separator position when string is needed
Désolé, je dois être capable de travailler i> si le numéro est 0 code> ou 0.0 code>. (Ou 0,00 code> dans cette affaire.) Je veux pouvoir obtenir le numéro avec le nombre correct de chiffres après le point décimal, exactement tel qu'il apparaît dans la chaîne JSON i> .
C'est votre meilleur pari, mais cela ne vous donnera toujours pas un point décimal pour les chiffres suffisamment grand qu'ils sont normalement affichés dans la notation scientifique. Par exemple. 1e30.Tofixed (1) === '1E30' code>
Si 0,0 n'est pas enfermé dans des guillemets dans votre JSON (c'est-à-dire un numéro et non une chaîne), il n'ya aucun moyen de le distinguer de 0, à moins que vous n'ayez écrit votre propre analyseur JSON. P>
Cela ne devrait pas avoir d'importance, 00000.00000 code> est 0 code> si vous essayez json.parse ('{"mynum": 0.00001}') code> Vous verrez une valeur de {mynum = 0,0001} code> Si vous en avez vraiment besoin pour tenir la décimale, vous devez conserver une chaîne json.parse ('{"mynum": "0.0"} ') code> p>
Cela compte en essayant de les faire correspondre à la fois en HTML.
Il n'y a aucun moyen d'obtenir le nombre de chiffres de Regarde un look A http: //code.google.com/p/json-sans-eval/source/jsonse/trunk/src/json_sans_eval.js Pour un analyseur JSON simple que vous pouvez modifier pour conserver des informations de précision. P> json.parse code> ou eval code>. Même si la proposition décimale d'IBM avait été adoptée par le comité de la CAMMAScript, le nombre va toujours être analysé à un flotteur IEEE 754. P>
Merci, réponse parfaite. Je vais regarder cet analyseur.
JavaScript n'a pas de type de numéro de point entier et flottant distinct. La spécification linguistique indique que la contraction d'un numéro qui n'a aucune fraction à une chaîne déposera le point décimal. Utilisez l'une des méthodes de formatage personnalisées telles que celle de BENSIU suggère.
Quelles différences cela fait-il?
0 code> est0.0 code> est0.00000000000 code> ....@Felix Kling: Oui, je sais que 0 est mathématiquement le même numéro que 0.0 :) mais imaginez une situation dans laquelle un serveur Web sert 0 ou 0,0, en fonction de la manière dont il est stocké dans la base de données (entier ou en tant que flotteur). Et je veux être capable de faire cette distinction dans JavaScript.
En fait, mathématiquement, il y a une différence entre 0 et 0.0 :)