我有一个 ASMX 客户端在响应中接收一个对象。 此对象包含属性,其中之一是 float 类型。
然后我序列化响应对象并使用 XSLT 将其转换以将其显示给用户。
但是,当该属性的值为 10000000 时,它显示为 1E+07,这是错误的。
当我将代理类中的属性类型更改为 double 时,它又是 10000000。但我不确定这是否是一个可靠的解决方案。
我也试过 XSLT format-number 但 XSLT 1.0 不支持科学记数法。
最佳答案
将属性更改为decimal
类型。这是保证您不会看到精度无声损失和科学记数法的方法。
关于c# - XmlSerializer 将 float 序列化为 1E+07,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10005924/