具有有限字符数的Double.ToString()

时间:2012-08-07 15:56:20

标签: c#

说我有一些双打:

12
10145
-0.00000000001455744121548787
100122455471000245487.05

我希望能够将它们转换为最多9个字符的字符串。输出将类似于:

12
10145
-1.45e-11
1.0012e21

有一种简单的方法吗?

对于前两个数字,我不希望输出为:     1.2e1     1.0145e4

1 个答案:

答案 0 :(得分:1)

您希望使用String.Format进行格式化。

首先需要检查是否需要使用科学记数法(即如果数字大于10 ^ 7,介于-10 ^ -7和10 ^ -7之间),但是打印出数字的方式是在科学记数法中,小数点后最多6位数:

String.Format("0.0######e+###", myDouble);