Il est valide selon le format disponible à json.org que les numéros peuvent éventuellement avoir une base de 10 exposant notée par un E, en majuscules ou en minuscules, en option, un plus ou moins, et un ou plusieurs chiffres.
La représentation des nombres est similaire à celle utilisée dans la plupart des
les langages de programmation. Un numéro contient un entier composant
peut être préfixé avec option d'un signe moins, qui peut être suivie par
une fraction de la partie et/ou un exposant de la partie.
Octal et hexadécimal formes ne sont pas autorisés. Les zéros non significatifs ne sont pas autorisés.
Une fraction est un point décimal suivi par un ou plusieurs chiffres.
Un exposant la partie commence par la lettre E en majuscule ou en minuscule,
qui peut être suivie par un signe plus ou moins. L'E et en option
signe sont suivies par un ou plusieurs chiffres.
Des valeurs numériques qui ne peuvent pas être représentées comme des séquences de chiffres
(comme l'Infini et NaN) ne sont pas autorisés.
Exposants sont autorisés à avoir des 0s, mais pas l'entier de l'article:
number =[ minus ]int[ frac ][ exp ]decimal-point =%x2E ;.
digit1-9=%x31-39;1-9
e =%x65 /%x45 ; e E
exp = e [ minus / plus ]1*DIGIT
frac =decimal-point 1*DIGIT
int= zero /( digit1-9*DIGIT )
minus =%x2D ;-
plus =%x2B ;+
zero =%x30 ;0
* La RFC 7159 norme remplace la RFC 4627 d'information note, cependant, la grammaire utilisée reste exactement le même.
Tout à partir d'un JSON (JavaScript) perspective de ces quatre chiffres
a) 100
b) 100.0
c) 1.0E+2
d) 1E+2
sont seulement quatre façons d'écrire le même nombre, dans des environnements où les entiers et les nombres réels sont les différents types de numéros qu'ils ont peut-être pas tous équivalents.
Et tandis que (un) signifie clairement un entier, et (b) d'un réel, et (c) une réelle ainsi, le cas (d) est un peu ambiguë: par exemple, en C, c'est un virgule flottante littérale (parce qu'il y a un exposant), mais en Ada, il est un littéral entier (car il n'y a pas de point décimal).
Et dans ISO 6093:1985 "traitement de l'Information – Représentation des valeurs numériques en chaînes de caractères, pour l'échange de l'information", le dernier est invalide, tandis que les trois autres correspondent aux trois distinguer les formats NR1, NR2 et nr3 parce qui y sont définies.
Donc en général en JSON ou ailleurs—, je préfère, et de recommander de toujours inclure une virgule décimale dans un "scientifique" décimal représentation de chaîne avec un exposant.
Et de placer au moins un chiffre avant la virgule (si il y en a un), comme JSON (et Ada, mais pas de C) exige et ISO 6093 recommande (mais pas l'exige).
Afin d'éviter les malentendus (chez l'homme) ou l'échange de données tracas (entre les machines et les programmes).
Il est valide selon le format disponible à json.org que les numéros peuvent éventuellement avoir une base de 10 exposant notée par un E, en majuscules ou en minuscules, en option, un plus ou moins, et un ou plusieurs chiffres.
Il est parfaitement valide, en fonction de
RFC 4627RFC 7159*:Exposants sont autorisés à avoir des 0s, mais pas l'entier de l'article:
* La RFC 7159 norme remplace la RFC 4627 d'information note, cependant, la grammaire utilisée reste exactement le même.
Tout à partir d'un JSON (JavaScript) perspective de ces quatre chiffres
a)
100
b)
100.0
c)
1.0E+2
d)
1E+2
sont seulement quatre façons d'écrire le même nombre, dans des environnements où les entiers et les nombres réels sont les différents types de numéros qu'ils ont peut-être pas tous équivalents.
Et tandis que (un) signifie clairement un entier, et (b) d'un réel, et (c) une réelle ainsi, le cas (d) est un peu ambiguë: par exemple, en C, c'est un virgule flottante littérale (parce qu'il y a un exposant), mais en Ada, il est un littéral entier (car il n'y a pas de point décimal).
Et dans ISO 6093:1985 "traitement de l'Information – Représentation des valeurs numériques en chaînes de caractères, pour l'échange de l'information", le dernier est invalide, tandis que les trois autres correspondent aux trois distinguer les formats NR1, NR2 et nr3 parce qui y sont définies.
Donc en général en JSON ou ailleurs—, je préfère, et de recommander de toujours inclure une virgule décimale dans un "scientifique" décimal représentation de chaîne avec un exposant.
Et de placer au moins un chiffre avant la virgule (si il y en a un), comme JSON (et Ada, mais pas de C) exige et ISO 6093 recommande (mais pas l'exige).
Afin d'éviter les malentendus (chez l'homme) ou l'échange de données tracas (entre les machines et les programmes).