javascript - JSON stringify-konvertering fra float til int
Jeg bruker Node.js og det innebygde JSON-objektet for å gjøre et JSON-objekt om til en streng. I objektet er
{
weight : 1.0
}
Men når jeg gjør om til tekststreng og skriver til en fil, blir utdataene weight : 1.
Svar #1
Som nevnt i dette svaret på et lignende spørsmål, og på denne MSDN-siden:
Det finnes ikke noe som heter et heltall i JavaScript. Tall i JavaScript er "tall i dobbelt presisjon 64-bits format IEEE 754".
Åpne nettleserkonsollen din og skriv 1.0. Du vil se 1 bli skrevet ut. Alle tall i JavaScript er flyttall, så serialiseringen din valgte rett og slett å droppe unødvendig presisjon.
Svar #2
Egentlig er ikke ditt et problem, 1 == 1.0 == 1.00 i Javascript, og hvis du har en flyttallverdi som 1.55, så gir stringify deg det samme 1.55 ikke 1.. Selv da, hvis du vil at 1.0 skal skrives, kan du endre verdien til en streng
Jeg mener legg verdien i dobbeltsitater
{
weight : "1.0"
}
