我认为它与前导零或尾随零的数量有关,但我在 msdn 中找不到任何可以给我具体答案的内容。
在什么时候Double.ToString(CultureInfo.InvariantCulture)
开始以科学记数法返回值?
从文档中Double.ToString(IFormatProvider):
该实例使用通用数字格式说明符(“G”)进行格式化。
从文档中通用数字格式说明符:
如果以科学记数法表示数字所产生的指数大于 -5 且小于精度说明符,则使用定点表示法;否则,使用科学记数法。如果需要,结果包含小数点,小数点后的尾随零将被省略。如果存在精度说明符并且结果中的有效数字位数超过指定的精度,则通过舍入删除多余的尾随数字。
但是,如果数字是 Decimal 并且省略精度说明符,则始终使用定点表示法并保留尾随零。
默认精度说明符Double
据记录为 15。
虽然在表的前面,但措辞略有不同:
结果:最紧凑的定点或科学计数法。
我还没有弄清楚这两者是否总是等价的Double
价值...
编辑:根据阿贝尔的评论:
而且,它并不总是最紧凑的表示法。 0.0001比1E-04大,但第一个是输出。 MS 文档在这里并不完整。
当然,这与更详细的描述相符。 (因为所需的指数大于-5且小于15。)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)