C# 以可读性更强的格式显示双精度科学符号
我正在通过第三方库从PLC读取一个值,但是当保存为双倍时,该值似乎是科学符号 PLC中的值为C# 以可读性更强的格式显示双精度科学符号,c#,string-formatting,scientific-notation,C#,String Formatting,Scientific Notation,我正在通过第三方库从PLC读取一个值,但是当保存为双倍时,该值似乎是科学符号 PLC中的值为1.234,但是,在调试应用程序时,存储在double中的值为5.273263155571927E-315 我在标签中显示它,但是我想将它显示为1.234而不是科学符号 我如何转换这个 作为一种猜测,我认为您应该从库中读取4个字节(浮点),而不是双字节(8个字节) 因为5.2732631571927E-315几乎为零 f现在是1.2345供参考:5.273263155571927E-315!=1.234。
1.234
,但是,在调试应用程序时,存储在double中的值为5.273263155571927E-315
我在标签中显示它,但是我想将它显示为1.234
而不是科学符号
我如何转换这个 作为一种猜测,我认为您应该从库中读取4个字节(浮点),而不是双字节(8个字节) 因为
5.2732631571927E-315
几乎为零
f现在是
1.2345
供参考:5.273263155571927E-315
!=<代码>1.234。这是~0
我想你需要显示代码,但听起来你好像是在把一个浮点数放到一个double中,或者是沿着这些线放置的东西!我将其更改为将值转换为浮点,现在得到值1.234。他们提供的示例代码将状态转换为double,我在以前的项目中已经这样做了,效果很好。。。但这次不行!谢谢
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);