私はNode.jsと組み込みのJSONオブジェクトを使用してJSONオブジェクトを文字列化しています。 1.JSONはfloatからintへの変換を文字列化します
答えて
実際にあなたが問題ではありません、JavaScriptで1 == 1.0 == 1.00
、あなたが1.55
のような浮動小数点値を持っている場合:私は、文字列化してファイルに書き込むときにオブジェクトで
{
weight : 1.0
}
ただし出力は、重量ですその後、文字列化を使用すると、文字列に値を変更し、1.0
が書き込まれるようにしたい場合でも、その後..あなたに同じ1.55 not 1
を与える
私は二重引用符で値を囲み意味
{
weight : "1.0"
}
JSONファイルが "1.0"と "1"を区別する別の言語で書かれたコードを対象としている場合、これはまだ問題です。 –
これは問題になる可能性があります。例えば。私たちはjavascriptクライアントからのデータを使用するjsonスキーマジェネレータを持っています。問題は、1.0ジェネレータが "number"型を作成しますが、1の場合は "integer"を作成するということです。次に、データが変更されると。 1.2では整数に対して1.2を検証しますが失敗します。 –
としては、同様の質問にはthis answerで述べた、とthis MSDN page上:
ではJavaScriptの整数のようなものはありません。 JavaScriptの数値は、「倍精度64ビット形式のIEEE 754値」です。
ウェブブラウザのコンソールを開き、1.0
と入力します。 1
が印刷されます。 JavaScriptの数値はすべて浮動小数点数なので、シリアライザは不必要な精度を単に残すことにしました。
ですが、 'JSON.stringify(0.1)'と書くと、なぜ '0.1000000000000000055511151231257827021181583404541015625'ではなく' 0.1'が出力されますか?それは必要な精度を残しました –
その数は64ビット浮動小数点数として表現することはできません。一般に浮動小数点数は、3.14159 ... * 2^nという形式では簡単に書き込めない数値を表現するのに悪いです。ここで、「...」は数桁を表し、nは巨大ではありません。 –
- 1. 文字列からintへの変換
- 2. Java floatからintへの変換エラー
- 3. Python 3で文字列をintまたはfloatに変換しますか?
- 4. Python:列をfloatからintに変換
- 5. C++奇妙なエラー "intから 'int(__cdecl *)(float、float)への変換なし" "
- 6. Swift 4 Codable:JSONの文字列をInt/Date/Floatに変換する
- 7. Swiftの文字列からintへの変換
- 8. 文字列からintへの変換のリスト
- 9. intを文字列に変換してからintに戻す
- 10. 文字列(substrから)unsigned intへの変換
- 11. C#タイプ変換(文字列からint)
- 12. 文字列をfloat型、int型、str型のリストに変換します。
- 13. PYTHON文字列をintまたはfloatに変換する方法
- 14. 正規表現から文字列またはintへの変換
- 15. Dictionaryから実装するために文字列からintへの変換
- 16. Pythonの文字列からjsonへの変換
- 17. 16進数の文字列からCへのintへの変換
- 18. JSON逆シリアル化 - 文字列が自動的にIntに変換されます
- 19. JavaScript - Json文字列からオブジェクトへの変換
- 20. テキストボックス文字列をfloatに変換しますか?
- 21. 文字列からUnicodeへの変換
- 22. 文字列からラムダへの変換
- 23. Java:inetaddressから文字列への変換
- 24. 文字列からバイトへの変換
- 25. バイトから文字列への変換
- 26. floatからintへの変換が奇妙に見える
- 27. 文字列配列から文字列への変換Swift
- 28. pandasデータフレームの列をfloatからintに変換する
- 29. cursor.getString()はintを文字列に変換しますか?
- 30. JSONからCSVへの変換通知:配列から文字列への変換
問題の内容が不明です。 '1'と' 1.0'はJavaScriptでも同じです。 – phenomnomnominal
'parseInt(obj.weight)'を使用してください。 – Heavy
1.5で試してみると、infactは小数点以下を保持しています。 – techfoobar