rounding-error

    0熱度

    1回答

    我把一個「如果」函數給我沒有小數如果結果是> 200,如果不給我1小數。它的效果很好,除非結果的小數點是.0,那麼它不會顯示我的小數點。我如何強制顯示小數? 這是我的功能:= IF($ E $ 13> 200,ROUND($ E $ 13,0),ROUND($ E $ 13,1))

    0熱度

    2回答

    我有一個應用程序,我積累十進制值(加和減)。我使用十進制類型而不是雙重,以避免累積錯誤。但是,我遇到了一個行爲並不像我期望的那樣的情況。 我有X = A + b,其中a = 487.5M和b = 433.33333333333333333333333335M。 計算加法,我得到X = 920.8333333333333333333333334M。 我然後有Y = 967.8750000000000

    4熱度

    2回答

    當鑄造小數變成雙倍時,我遇到了一個奇怪的問題。 下面的代碼返回true: Math.Round(0.010000000312312m, 2) == 0.01m //true 然而,當我投這加倍返回false: (double)Math.Round(0.010000000312312m, 2) == (double)0.01m //false ,當我想用​​Math.Pow我已經經歷過這個問

    2熱度

    2回答

    在Fortran中有快速的方法嗎? 由於正雙數的位表示的線性順序,所以可以實現如下的舍入。 pinf和ninf是分別+/-無窮 function roundup(x) double precision ,intent(in) :: x double precision :: roundup if (isnan(x))then roundup = pinf

    -1熱度

    1回答

    Y = 3396.2341542 F=(4pi(Y+x)^2)-(4piY^2) G=8*pi*(Y*x) 如果x通常是一個小數目(< 0.00001) 哪這些公式將受舍入誤差和這將是 受到截斷錯誤? 我認爲第一個是舍入誤差,但第二個是什麼?

    0熱度

    1回答

    我使用MPIR來處理極小的數字。不知何故,我得到的答案是錯誤的,我不知道爲什麼(我猜想四捨五入的東西..)。 MPIR中的舍入是如何工作的,這是我得到這些錯誤答案的原因嗎? 這裏是代碼(相關部分): long long a = 100000; mpf_class calc(p[i],500); cout << "p[i] = " << setprecision(32) << c

    1熱度

    2回答

    即時通訊我正在開發的程序的結果有問題。 像例如,如果即時通訊數量8672.59,我想分成2,結果應該是4336.295。問題是我如何將它轉換爲2位小數點他們兩個四捨五入的結果,以便我仍然可以得到正確的金額,當我添加2個數字。 例如。 8672.59/2 = 4336.295 如果四捨五入到2位digimal點的結果爲4336.30 如何可以將其轉換爲2位小數點與出四捨五入,從而如果它是由兩個結果相

    9熱度

    4回答

    當除法結果爲無限重複的數字時,數字顯然會被截斷以適應小數點的大小。所以像1/3這樣的東西變得像0.3333333333333333333。如果我們將這個數字乘以3,那麼我們得到類似於0.999999999999999999而不是1的數據,就像我們將得到的數據的真實值保存一樣。 這是從上小數MSDN文章的這一個代碼示例: decimal dividend = Decimal.One; decima

    0熱度

    1回答

    我已經寫滿數字的列向量pp的最後一個非零位的位置,例如: 23.234000 3.1237340 4.4359000 我想找到的名額小數點的右邊矢量中最小的非零數字佔據,在這種情況下,由於3.123734中的4,在這種情況下將爲6。然後,我想將矢量中的每個數字乘以10^6,以消除矢量中的所有小數。我想這樣做以消除舍入錯誤。完成這件事的最好方法是什麼?

    3熱度

    3回答

    我理解是這樣的:在C雙精度減去2個double數字時++它們首先轉化爲開始與一個次2到冪的一個有效數。那麼如果相減的數字在有效數字中具有相同的指數和許多相同的數字,則可以得到錯誤,從而導致精度的損失。爲了測試這個對我的代碼,我寫了下面的安全增加功能: double Sadd(double d1, double d2, int& report, double prec) { int exp