运行相同的代码(如Convert.ToDecimal(prm.Degeri).ToString())从2台不同的计算机获得不同的结果

时间:2013-11-14 16:09:41

标签: c#

当我运行下面显示的代码时,我从两台不同的计算机得到两个不同的结果。

这可能是什么原因?

Details;
Computer-1
decimal value1=Convert.ToDecimal(prm.Degeri);  //value1=6;
string svalue1=value1.ToString();              //svalue1="6";

Computer-2
decimal value1=Convert.ToDecimal(prm.Degeri);  //value1=6;
string svalue1=value1.ToString();              //svalue1="6,0";

区域和语言设置完全相同。

提前致谢。

2 个答案:

答案 0 :(得分:1)

最可能的原因是计算机1上的prm.Degeri"6""6,0"上为Computer-2decimal,存储有效数字的位数(与doublefloat不同,它们具有固定数量的有效位数),它在使用ToString()输出时使用。 / p>

答案 1 :(得分:0)

看起来好像是因为血清化方法。当我使用“Serialization.JsonSerializeObject”来序列化对象时,我遇到了这个问题。我将其更改为“Serialization.SerializeObject”,问题就消失了。很奇怪,但它的工作原理。我在这里分享这个解决方案,所以希望这可能对其他人有帮助。谢谢你们花时间。