私は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. Python 3で文字列をintまたはfloatに変換しますか?
- 3. C++奇妙なエラー "intから 'int(__cdecl *)(float、float)への変換なし" "
- 4. Swiftの文字列からintへの変換
- 5. 文字列(substrから)unsigned intへの変換
- 6. 正規表現から文字列またはintへの変換
- 7. テキストボックス文字列をfloatに変換しますか?
- 8. 16進数の文字列からCへのintへの変換
- 9. 文字列からバイトへの変換
- 10. Java:inetaddressから文字列への変換
- 11. cursor.getString()はintを文字列に変換しますか?
- 12. floatからintへの変換が奇妙に見える
- 13. spring mvc form bean文字列から文字列への変換
- 14. C++、文字列から文字配列への変換
- 15. 文字列から文字列への変換Struts 2での変換は機能しませんか?
- 16. 文字列を2つのintに変換しますか?
- 17. 可変長からint配列への文字列?
- 18. floatをコンマとドットで文字列に変換します。
- 19. JSONからPHPへのmySQL:文字列をJSONObjectに変換できません
- 20. Evalの値をintから文字列に変換する
- 21. C++でのintの文字列への不正変換
- 22. C++ int型の文字列への変換
- 23. 予期しない配列から文字列への変換
- 24. 文字列がfloatまたはintに変換できるかどうかを確認する方法
- 25. 文字列から文字列とintを抽出します。
- 26. 32ビットバイナリ文字列をルビのfloatに変換するには
- 27. intをfloatに変換するには?
- 28. Json配列の文字列に変換
- 29. コンマで区切られた文字列をint PHPに変換しますか?
- 30. Java Scientific NotationからFloatへの変換
問題の内容が不明です。 '1'と' 1.0'はJavaScriptでも同じです。 – phenomnomnominal
'parseInt(obj.weight)'を使用してください。 – Heavy
1.5で試してみると、infactは小数点以下を保持しています。 – techfoobar