我们说我有一个双n = 0.00000123456
在一种情况下,我可能想要显示1位小数 n.ToString(" E1")=> " 1.2E-006"
在另一种情况下,我可能想要显示4位小数 n.ToString(" E4")=> " 1.2346E-006"
但是我不希望指数上的前导零,这些数字是针对空间有限的轴。
我希望看到" 1.2E-6"和" 1.2346E-6" :很好 - 没有前导零!
我看了how can I remove zeros from exponent notation,我看到我可以分别使用n.ToString(" 0.0E + 0")和n.ToString(" 0.0000E + 0") 。
那太好了,但是,鉴于我有一个整数变量 requiredDecimalPlaces 告诉我任何时候需要的小数位数,我是否必须创建一个带有a的格式字符串循环,每次添加零?!这看起来很丑陋。如果这是方法,有人可以告诉我吗?但就像我说的那样,将我的变量requiredDecimalPlaces(值为4)说成一个字符串" 0.0000"然后附加" E + 0"到最后为了创造" 0.0000E + 0"似乎过于复杂。
答案 0 :(得分:1)
没有标准数字格式可以执行此操作,因此您必须创建自定义格式。创建该格式的最简单方法如下:
number.ToString("0." + new string('0', decimalPlaces) + "E+0");