2013-02-11 45 views
0

我需要格式化float值的字符串下面浮法格式化

1.0E11 -- 1.0E11 
1.21 -- 1.21 

给出当ToString("0.00")尝试,我得到了以下值:

1.0E11- "10000000000.00" 
1.21 - 1.21 

我们怎样才能浮点值转换为具有指数值的字符串,如果它具有指数?

回答

3
String.Format("{0:E4}", myFloat); 

myFloat.ToString("E4"); // Where 4 is the number of decimal places 

参考:http://blogs.msdn.com/b/kathykam/archive/2006/03/29/564426.aspx

+0

但是这也迫使'1.21f'与'E + 000'成指数形式,这不是提问者想要的,我想。 – 2013-02-11 13:07:52

+0

@JeppeStigNielsen这是真的,我认为这里有两个问题... – MattDavey 2013-02-11 13:31:55

+0

我在我的答案中建议的格式字符串给出了1.2345f的“1.23”和1.2345的“1.23E + 11” e11f',所以它接近我想要的原始海报。 – 2013-02-11 16:24:10

1

我觉得.ToString("G3")来靠近你想要什么,但你不指定要如何中间数,像666.123f,被格式化。