javascript - JSON stringify konverzija float u int
Koristim Node.js i ugrađeni JSON objekt za pretvaranje JSON objekta u niz. U objektu je
{
weight : 1.0
}
Međutim, kada pretvorim u string i upišem u datoteku, izlaz je weight : 1.
Odgovor #1
Kao što je navedeno u ovom odgovoru na slično pitanje, i na ovoj MSDN stranici:
U JavaScriptu ne postoji pojam cijelog broja. Brojevi u JavaScriptu su „vrijednosti u formatu IEEE 754 s dvostrukom preciznošću od 64 bita“.
Otvorite konzolu vašeg web preglednika i upišite 1.0. Vidjet ćete da se ispisuje 1. Svi brojevi u JavaScriptu su brojevi s pomičnim zarezom, pa je vaš serijalizator jednostavno odlučio izostaviti nepotrebnu preciznost.
Odgovor #2
Zapravo, tvoj slučaj nije problem, 1 == 1.0 == 1.00 u Javascriptu i ako imaš vrijednost s pokretnim zarezom poput 1.55, stringify ti daje isto 1.55, ne 1.. Čak i tada, ako želiš da se napiše 1.0, promijeni vrijednost u string
Mislim staviti vrijednost u navodnike
{
weight : "1.0"
}
