私はdecimalプロパティを持つクラスを持っており、JSON.NETを使用してシリアル化と逆シリアル化しています。私が抱えている問題は、10進値が100000000000023063.0である場合、逆シリアル化すると100000000000023000に変換されることです。JSONを確認したところ、100000000000023063.0として確実に記録されています。
私はそれを調べました&
decimal.Parse("100000000000023063.0")
=
100000000000023063.0
しかし
var d = (decimal)100000000000023063.0
=
100000000000023000
文字列として保存し、decimal.Parse()を実行するプロパティを設定することでこの問題を回避できますが、なぜこれが発生するのか誰かが知っていますか?