将双精度浮点数转换为科学计数法,保留特定小数位数。

12

我想将双精度浮点数转换为科学计数法,就像这样:

-0.00752382528 => -.752383E-1

我可以用.ToString()或正则表达式来做到这一点吗?


4
这个值不是正确的科学计数法表示方式。即使它是,它也与原始值不匹配。 - D Stanley
1
http://msdn.microsoft.com/en-us/library/dwhawy9k%28v=vs.110%29.aspx - Hans Passant
@DStanley,你是对的,但这是在旧软件中执行的转换,我应该重写它。 - user2089789
1个回答

20

1
我知道这些字符串格式,但我必须按照答案中所述进行转换。我认为我必须编写一个自定义方法来实现这一点。 - user2089789
在您的示例中使用ToString("E5"),它会给出: -7,52383E-003 这不应该是-.752383E-1吗?看起来你少了一个x10的因素。-0.007.. vs -0.07 vsToString("E")会给您科学计数法,并且"E5"中的小数位数为五位。无需使用正则表达式。 - Tore Aurstad

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接