2012-02-14 42 views
4

我有以下类型的十进制数转换为指数格式要求表示数字

0.00001格式化为0.01E-04

我用这个方法如下: string.Format("{0:E2}", dValue);

但这返回0.01E-004

所以我需要限制的数字位数为2后E。 这可能吗?如果是这样:怎么样?

+0

那么,需要限制小数点后的位数和E后的数字2.所以它应该表示为0.01E-04。 – siva 2012-02-14 07:34:08

回答

7

你需要使用自定义格式字符串来指定如何格式化十进制:

string.Format("{0:0.##E+00}", dValue); 

你可以找到更多关于在MSDN here自定义数字格式字符串。有关于Exponent格式的特定部分。

6

认为你想要的东西,如:

string text = dValue.ToString("0.###E+00"); 

(变化#字符的数目改变的小数位数之前大肠杆菌)

你可以做到这一点一个复合格式说明符以及通过调用string.Format,但个人我会使用一个简单的,除非你需要将其他文字放在它周围,在这种情况下,你会使用类似的东西:

string text = string.Format("Before {0:0.0###E+00} After", dValue); 
+0

我得到d错误比d帮助 – 2012-02-14 08:07:39

+0

@PranayRana:对不起,我不知道你的意思。 – 2012-02-14 08:28:37

+0

嘿感谢指出我的错误在我的答案.......... – 2012-02-14 09:39:19