2010-02-25 35 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