.net 为什么转换为单个值会更改结束时的值

m1m5dgzv  于 2023-02-10  发布在  .NET
关注(0)|答案(1)|浏览(105)

我正在编写一个Windows窗体应用程序来与PLC对话。我需要能够在应用程序和PLC之间传递浮点值。在将int值转换为浮点值时,我遇到了一个问题。
发送到PLC的值:3334688901单一转换后的值:3.334689E +09如果你把它转换成一个字符串,你会得到:3334689024
下面是我代码:字符串sValue ="3334688901";浮点输出值=转换为单值(sValue);
有没有办法让Convert.ToSingle正确地转换值?
我试过很多方法都没用。

mbzjlibv

mbzjlibv1#

Single值的精度最多为7位小数,内部最多为9位数。您要转换的数字为10位数。请尝试Convert.ToDouble而不是Convert.ToSingle。

Double OutputValue = Convert.ToDouble("3334688901");
Console.WriteLine(OutputValue);

相关问题