c# - XmlSerializer 将 float 序列化为 1E+07

标签 c# .net serialization

我有一个 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/

相关文章:

c# - Web API 表单 urlencoded 绑定(bind)到不同的属性名称

javascript - 使用redraw从图表中获取数据,Jsfiddle提供

c# - 设置/更新 aspxauth 和 asp.net_sessionid cookie 的过期时间

java - 在安全集群中使用 Nifi

c# - 将 C# 表单序列化为 XML

c# - 在数值中设置点而不是逗号

c# - 确定 Python/IronPython 函数的声明顺序

c# - 如何使用 Action 过滤器更改输入参数

c# - 高效使用OnPaint

ios - swift 3 : How to convert struct to Parameters