【发布时间】:2014-01-10 12:44:16
【问题描述】:
对于我们的多层应用程序,我们使用XmlConvert.ToString() 来生成一个 xml。
这个 XML 字符串由我们的“配置应用程序”发送到物理设备进行配置。
另一个应用程序负责连接这个物理设备,并且必须检查远程物理设备是否具有相同的配置。
我们检查每个字段是否具有相同的字符串值。
我们用
写值stringValue = XmlConvert.ToString((decimal)objValue);
我们两个软件的local不一样,好像有效果:
我们收到十进制值1。在具有我的自定义语言环境(fr-CH)的一个应用程序(配置器)上,我有以下输出:
"1".
但在另一个应用程序上,使用完全相同的代码,我们收到输出 "1.0",导致我们的验证失败。
经过一番研究(here)我认为 XmlConvert.ToString 是文化不变的)。没有?
此外,我无法配置任何“文化”来序列化我的小数。我错过了什么?
【问题讨论】:
-
您是否绝对确定在两台机器上都收到 1 而不是 1.0?它们在
decimal中有不同的表示。 -
不,我不是很确定,我只知道当我在 Visual Studio 中用鼠标悬停变量时,我在两种情况下都显示了
1。即使它们有不同的表示,有没有办法确保它们写得一样?
标签: .net xml serialization decimal culture