У меня есть класс с десятичным свойством, и я сериализую и десериализую с помощью JSON.NET. Проблема, с которой я сталкиваюсь, заключается в том, что если десятичное значение равно 100000000000023063.0, то при десериализации оно преобразуется в 100000000000023000. Я проверил JSON, и он определенно записан как 1000000000000023063.0.
Я изучил это и
decimal.Parse("100000000000023063.0")
=
100000000000023063.0
но
var d = (decimal)100000000000023063.0
=
100000000000023000
Я могу обойти эту проблему, сохранив в виде строки и имея свойство, которое выполняет decimal.Parse (), но кто-нибудь знает, почему это происходит?