以更易读的格式显示科学记数法double

时间:2012-04-08 22:12:44

标签: c# string-formatting scientific-notation

我正在通过第三方库从PLC读取值,但是当保存为double时,该值似乎是科学记数法。

PLC中的值为1.234但是,在调试应用程序时,存储在double中的值为5.27326315571927E-315

我在标签中显示这个,但是我希望将其显示为1.234而不是科学记数法。

我该怎么转换呢?

1 个答案:

答案 0 :(得分:2)

作为一个疯狂的猜测,我认为您应该从库中读取4个字节(浮点数)而不是双倍(8个字节)。

由于5.27326315571927E-315 几乎为零。

double d = 5.27326315571927E-315;
byte[] b = BitConverter.GetBytes(d);
float f = BitConverter.ToSingle(new byte[] { b[0], b[1], b[2], b[3] }, 0); 

f现在是1.2345