四捨六入五成双是一種精確度的計數保留法.捨入規律是"四捨六入五成雙",這裡"四"是小於五的意思,"六"是大於五的意思,"五"是捨入位之後的尾數逢五的話看前一位,奇進偶不進,就像1.25,因為2是偶數,所以是1.2。又像1.35,因為3是奇數,所以是1.4,明不明白,這個是資料統計需要的.
從統計學的角度,"四捨六入五成雙"比"四捨五入"要科學,它使捨入後的結果有的變大,有的變小,更平均.而不是像四捨五入那樣逢五就入,導致結果偏向大數.
例如:1.15+1.25+1.35+1.45=5.2,若按四捨五入取一位小數計算
1.2+1.3+1.4+1.5=5.4
按"四捨六入五成雙"計算,1.2+1.2+1.4+1.4=5.2,捨入後的結果更能反映實際結果
例:四捨六入五成雙:
math.round(43.5,0) --44.0
math.round(42.5,0) --42.0
解決方法如下
1.只要求保留n位不四捨5入
float f = 0.55555f; int i =(int)(f * 100); f = (float)(i*1.0)/100;
2.保留n位,四捨五入
decimal d= decimal.round(decimal.parse("0.55555"),2);
3.保留n位四捨五入 **********************
double dbdata = 0.55555; string str1 = bdata.tostring("f2");//fn 保留n位,四捨五入
4.保留n位四捨五入 *******************
string result =string.format("", 0.55555);//2位
string result = string.format("", 0.55555);//3位
5.保留n位四捨五入 *****************
double s=0.55555;
result=s.tostring("#0.00");//點後面幾個0就保留幾位
四捨六入五成雙
四捨六入五成雙 對於位數很多的近似數,當有效位數確定後,其後面多餘的數字應該捨去,只保留有效數字最末一位,這種修約 捨入 規則是 四捨六入五成雙 也即 4舍6入5湊偶 這裡 四 是指 4 時捨去,六 是指 6時進上,五 指的是根據5後面的數字來定,當5後有數時,舍5入1 當5後無有效數字時,需要分兩...
java 四捨六入五成雙
四捨六入五成雙的規則 1.被修約的數字小於5時,該數字捨去 2.被修約的數字大於5時,則進製 3.被修約的數字等於5時,要看5前面的數字,若是奇數則進製,若是偶數則將5捨掉,即修約後末尾數字都成為偶數 若5的後面還有不為 0 的任何數,則此時無論5的前面是奇數還是偶數,均應進製。舉例,用上述規則對下...
有效數字修約,按四捨六入五成雙原則
定義函式修約小數字數,按四捨六入五成雙的原則 deflittle x,y x是要修約的數,y是要保留的小數字數。abs x abs x 取x的絕對值 str x str abs x 字串x的絕對值 len x len str x 計算x字串的長度 point x str x.find 尋找x字串中的...