我在C#中使用指数格式化来格式化十进制数。例如,如果数字是
0.0001234567
格式设置
(0.0000123456).ToString("E4");
显示
1.2345E-004
如何从指数中删除前导零,使其如下所示?
1.2345E-4
发布于 2012-01-09 15:31:19
假设您需要始终在小数点后显示4位数字,请尝试
"0.0000E+0"
所以它会显示出来
(0.0000123456).ToString("0.0000E+0"); //1.2345E-5
(0.0000120000).ToString("0.#E+0"); //1.2000E-5
如果您不需要在小数点后显示4位数字,请使用
"0.#E+0"
所以它会显示出来
(0.0000123456).ToString("0.#E+0"); //1.2E-5
(0.0000120000).ToString("0.#E+0"); //1.2E-5
发布于 2012-01-09 14:58:01
引用MSDN
格式说明符的大小写指示指数前缀是"e“还是"E”。指数始终由一个加号或减号和至少三位数组成。如果需要,指数将用零填充以满足此最小值。
这是通过标准数字说明符实现的。
但是,使用custom number format,您可以设置0的数量:
987654 ("#0.0e0") -> 98.8e4
对于你的情况,它是
(0.0000123456).ToString("#0.0E0"); //12.3E-6
在BobSort注释后编辑
如果您需要科学记数法,您可以使用以下命令指定只需要小数前一个数字:
(0.0000123456).ToString("0.00#E0"); //1.23E-5
https://stackoverflow.com/questions/8784842
复制相似问题