同桌上课用手指进去了好爽_欧美丰满熟妇xxⅹⅹ性大i_成人av天天日天天拍拍_猛男gay帅男gay男男同志_欧美va天堂在线观看_人妻无码av中文系列三里桃花_亚欧免费无码在线观看_久久久精品国产亚洲av水_日韩在线免费看污污污_2021无码专区人妻系列日韩

首頁 優(yōu)化推廣 c# 四舍五入、上取整、下取整

c# 四舍五入、上取整、下取整

來源: | 時間:2013/4/27 9:22:06 |

在處理一些數(shù)據(jù)時,我們希望能用“四舍五入”法實(shí)現(xiàn),但是C#采用的是“四舍六入五成雙”的方法,如下面的例子,就是用“四舍六入五成雙”得到的結(jié)果:

double d1 = Math.Round(1.25, 1);//1.2
double d2 = Math.Round(1.24, 1);//1.2
double d3 = Math.Round(1.26, 1);//1.3
double d4 = Math.Round(1.35, 1);//1.4

為了用C#來實(shí)現(xiàn)“四舍五入”,我寫了下面的函數(shù):

 
代碼
/// <summary>
/// 實(shí)現(xiàn)數(shù)據(jù)的四舍五入法
   /// </summary>
/// <param name="v">要進(jìn)行處理的數(shù)據(jù)</param>
/// <param name="x">保留的小數(shù)位數(shù)</param>
/// <returns>四舍五入后的結(jié)果</returns>
private double Round(double v, int x)
{
bool isNegative = false;
//如果是負(fù)數(shù)
if (v < 0)
{
isNegative
= true;
v
= -v;
}

int IValue = 1;
for (int i = 1; i <= x; i++)
{
IValue
= IValue × 10;
}
double Int = Math.Round(v × IValue + 0.5, 0);
v
= Int / IValue;

if (isNegative)
{
v
= -v;
}

return v;
}
 

經(jīng)過簡單的測試,上面的函數(shù)能實(shí)現(xiàn)對數(shù)據(jù)的四舍五入法。

 

Math.Round ()在四舍五入時有個問題:   

服務(wù)熱線

153 8323 9821

功能和特性

價格和優(yōu)惠

網(wǎng)站和維護(hù)

推廣和優(yōu)化

微信服務(wù)號