输出双精度指数符号
本文关键字:符号 指数 双精度 输出 | 更新日期: 2023-09-27 18:19:20
我正在将VB6应用程序转换为c#。我的c#代码是:
double a = 0.1345;
double b = 56.0;
double c = 40574.0;
double d = a * (b / c);
Console.WriteLine(d);
根据VB,上面的代码应该返回1.856361216542613e-4
但是我的应用程序返回0.000185636121654261
。
我需要的值,因为它有e
符号。
您只需要使用ToString()
适当的格式:
Console.WriteLine(d.ToString("e"));
更多格式:MSDN
编辑:要增加精度,需要在e
:
Console.WriteLine(d.ToString("e16"));
//1.8563612165426135e-004
不幸的是,没有办法在指数4
之前去掉00
。下面是解释:
格式说明符的大小写表示是否在指数以E或E开头。指数总是由加号组成或负号,且至少为三位。指数被填充如果需要,用零来满足这个最小值。
来源:MSDN
EDIT2: 为了消除exponent中的填充,您可以编写以下格式:
Console.WriteLine(d.ToString("0.##############e+0"));