Mam klasę z dziesiętną właściwością & Sformalizuję & deserializacji przy użyciu JSON.NET. Problem polega na tym, że jeśli wartość dziesiętna wynosi 100000000000023063.0, po deserializacji zostanie przekonwertowana na 100000000000023000. Sprawdziłem JSON &, który jest z pewnością zapisany jako 100000000000023063.0..NET/C# problemy z serializacją dziesiętną
Przyjrzeliśmy się to &
decimal.Parse("100000000000023063.0")
=
100000000000023063.0
ale
var d = (decimal)100000000000023063.0
=
100000000000023000
Mogę obejść ten problem, przechowując jako ciąg & mieć właściwość, która nie decimal.Parse(), ale czy ktoś wie, dlaczego tak się dzieje?
Dzięki dużo za to. Otrzymuję wartość "100000000000023063.0" w XML za pośrednictwem usługi internetowej. Następnie parsuję go i tworzę moją klasę i serializuje klasę przy użyciu JSON.NET i przechowuje ją w bazie danych do wykorzystania w przyszłości. Wygląda na to, że JSON.NET 4.0 rozwiązuje problem z dokładnością dziesiętną. – LozzaDude