2010-02-25 38 views

回答

1

它取决于数据中的“十进制分量”的数量。

的std :: numeric_limits :: digits10会给精度指定的位数(十进制+浮子部件)来显示数字“浮动元件”

的ios_base ::的最大数目。

如果你的小数分量总是小于100(-99到99),下面的代码总是给出最大精度。

ss.precision(std::numeric_limits<double>::digits10 + 2); 
+0

看看你林Yeen飞? :o – 2010-02-25 02:12:11

+0

你还期待谁:) – YeenFei 2010-02-25 02:21:47

+0

哦。很高兴在这里见到你。 :) – 2010-02-25 02:36:57

0

What is the meaning of numeric_limits<double>::digits10,特别是最高的投票答案,std::numericlimits<double>::digits10是:

的最大位数您可以在不损失精度代表。

这意味着如果您将ss.precision设置为该值,则这些浮点数字将是准确的;如果将其设置为+2,则仍会显示该+ 2位数字,但后两位数字不能保证准确计算。

对于任意波形精度,如果这是你需要什么,在mpirgmpmpfr