我正在编写一个Windows窗体应用程序来与PLC对话。我需要能够在应用程序和PLC之间传递浮点值。在将int值转换为浮点值时,我遇到了一个问题。发送到PLC的值:3334688901单一转换后的值:3.334689E +09如果你把它转换成一个字符串,你会得到:3334689024下面是我代码:字符串sValue ="3334688901";浮点输出值=转换为单值(sValue);有没有办法让Convert.ToSingle正确地转换值?我试过很多方法都没用。
mbzjlibv1#
Single值的精度最多为7位小数,内部最多为9位数。您要转换的数字为10位数。请尝试Convert.ToDouble而不是Convert.ToSingle。
Double OutputValue = Convert.ToDouble("3334688901"); Console.WriteLine(OutputValue);
1条答案
按热度按时间mbzjlibv1#
Single值的精度最多为7位小数,内部最多为9位数。您要转换的数字为10位数。请尝试Convert.ToDouble而不是Convert.ToSingle。