double类型计算

下面两个例子体现两个运算规则

一.四舍五入

 //四舍五入

double doublenum = Math.Round(12.5, MidpointRounding.AwayFromZero);



//两个整数转为百分数

int fullnum = 20, allnum = 3;

double percent =(float) fullnum  / allnum;

//double percent = fullnum * 1.0 / allnum;

string jobstatus = percent.ToString("P1");//P0,P1,P...保留几位小数

Response.Write("doublenum=" + doublenum + ",percent=" + percent + ",jobstatus=" + jobstatus);

输出结果:doublenum=13,percent=6.66666666666667,jobstatus=666.7%

两个整型取百分数,需要将整型转为浮点型。

 

二.四舍六入五取偶

据说,在delphi里,会有

var

    i, j: Integer;

begin

    i := Round(1.5); // i等于2

    j := Round(2.5); // j等于2

end;

此时没有按照"四舍五入"的规则来运算,而是另一个规则"四舍六入五取偶",即舍入位小于或大于5的部分按照"四舍五入"计算,如果等于5,要看舍入位前一位,如果前一位是奇数,则进

1,偶数不变。

这种规则采用 了Banker's rounding(银行家舍入)算法,事实上这也是 IEEE标准 规定的舍入标准。

 

你可能感兴趣的:(double)