-1

我正在通过第三方库从 PLC 读取一个值,但是当保存为双精度值时,该值似乎是科学计数法。

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

我将其显示在标签中,但是我想将其显示1.234为科学记数法。

我怎样才能转换这个?

4

1 回答 1

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); 

f1.2345现在是

于 2012-04-08T22:27:32.367 回答