首页 > 解决方案 > Double.parse(exponential notation) 不解析 17 位数值

问题描述

Double.parse(exponential notation) 不解析 17 位数值。使用此方法解析时,我得到完全相同的值。

(来自评论)
Double.Parse("7.80005E+17") 给我 7.80005E+17 而不是 "780004802296598000" 这应该是实际值(或类似值)

标签: parsingexponential

解决方案


Adouble确实具有大约 17 位的精度。但是你确实需要提供这 17 位数字!

Double.Parse("7.80005E+17")真的780005_000000_000000 而不是 780004_802296_598000

当你这样做时780004802296598000.ToString("E5")(将小数点后的位数限制为 5)你会得到 7.80005E+17,但是你已经丢失了额外的数字——“解析”不会让它们回来。


推荐阅读