.NET/C #проблемы с десятичной сериализацией

У меня есть класс с десятичным свойством, и я сериализую и десериализую с помощью JSON.NET. Проблема, с которой я сталкиваюсь, заключается в том, что если десятичное значение равно 100000000000023063.0, то при десериализации оно преобразуется в 100000000000023000. Я проверил JSON, и он определенно записан как 1000000000000023063.0.

Я изучил это и

decimal.Parse("100000000000023063.0")

=

100000000000023063.0

но

var d = (decimal)100000000000023063.0

=

100000000000023000

Я могу обойти эту проблему, сохранив в виде строки и имея свойство, которое выполняет decimal.Parse (), но кто-нибудь знает, почему это происходит?

5
задан Matthew Murdoch 3 July 2012 в 11:59
поделиться