C#圆形科学记数值

时间:2014-08-13 15:53:43

标签: c# rounding scientific-notation

我有一个小的双值,用科学记数法格式化。当我显示该值时,它以1.34423E-12格式显示,小数点后5位数。我想舍入这个值,使其显示为1.344E-12。

是否有内置的方法将科学记数法值舍入为x个小数位?

1 个答案:

答案 0 :(得分:3)

使用类似

的格式字符串
double d = 1.34423e-12;
string formattedValue = d.ToString("E3");

此处"E"表示使用科学记数法(使用大写" E"如果您想要一个小的,请使用"e" ...)并且3代表小数点后的三位数。

您可以在MSDN查看Standard numeric format strings以查看其他选项。 String.Format方法的文档还包含有关格式化值的有用信息。

修改

如果您想要更多灵活性,可以使用Custom numeric Format Strings。使用这些你可以例如还指定了指数所用的位数,如

d.ToString("0.000E0"); // -> Results in "13.344E-12" instead of "13.344E-012"
d.ToString("0.000E0000"); // -> "13.344E-0012"