【发布时间】:2011-12-09 04:36:23
【问题描述】:
我在从双精度转换为字符串时遇到问题。
我要转换:
双精度值:0.0772486324655191
字符串值:0.0772486324655191
如果长度大于小数点后 16 位,我希望这样:
双精度值:0.00063500244832493823
字符串值:6.3500244832493823e-004
我已尝试使用 IFormatProvider 模式进行转换:
0.0000000000000000e000
但是第一种情况的结果是
7.7248632465519100e-002
如何获得双向量中的位数?或者更好:我应该如何正确使用格式提供程序?
String specifier;
CultureInfo culture;
specifier = "0.0000000000000000e000";
culture = CultureInfo.CreateSpecificCulture("en-US");
Console.WriteLine(DoubleMirrored[0].ToString(specifier, CultureInfo.InvariantCulture));
【问题讨论】:
-
不确定是什么问题?你在期待什么
-
我想要:0.0772486324655191
-
请输入代码,我认为您将其强制为上述模式,因此结果
-
我知道,但正确的模式是什么?
-
@Phil,.NET 科学记数法仅支持它的规范化版本。如果要应用自定义规则,则需要创建自定义格式化程序。