Точность с плавающей точкой XMLSerialization - PullRequest
2 голосов
/ 14 апреля 2010

Гарантируется ли, что двоичное представление синглов, парных чисел и чисел с плавающей точкой будет идентичным оригиналу после сериализации и десериализации?

Ответы [ 3 ]

1 голос
/ 14 апреля 2010

Нет, вы не можете предполагать это. В конце концов, что-то округляется во время сериализации, и ваш номер будет выключен. Точное представление числа с плавающей запятой в двоичной системе в лучшем случае сложно, а иногда невозможно.

http://usenix.org/publications/login/2005-02/pdfs/mccluskey.pdf

1 голос
/ 15 апреля 2010

Вам нужно прочитать этой темы , чтобы понять, что означает точность, когда вы работаете с числами с плавающей запятой. Что бы ни случилось с ними, когда они будут сериализованы в XML, на самом деле не имеет большого значения. Это будет достаточно точно. Используйте десятичный тип, если вам не нравится этот вид нечеткости. Не должно быть, вот как они работают.

1 голос
/ 14 апреля 2010

Я очень в этом сомневаюсь.

Попробуйте использовать DataContractSerializer. XmlSerializer активно не поддерживается.

...