我有一个小的双值,用科学记数法格式化。当我显示该值时,它以1.34423E-12格式显示,小数点后5位数。我想舍入这个值,使其显示为1.344E-12。
是否有内置的方法将科学记数法值舍入为x个小数位?
答案 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"