c#中的math.round()並不是使用的"四捨五入"法。其實c#的round函式都是採用banker』s rounding(銀行家演算法),即:四捨六入五取偶
math.round(0.4) //result:0
math.round(0.6) //result:1
math.round(0.5) //result:0
math.round(1.5) //result:2
math.round(2.5) //result:2
使用midpointrounding.awayfromzero的效果:
math.round(0.4, midpointrounding.awayfromzero); // result:0
math.round(0.6, midpointrounding.awayfromzero); // result:1
math.round(0.5, midpointrounding.awayfromzero); // result:1
math.round(1.5, midpointrounding.awayfromzero); // result:2
math.round(2.5, midpointrounding.awayfromzero); // result:3
保留後倆位小數點要用到另乙個過載方法
math.round((decimal)22.325, 2,midpointrounding.awayfromzero)//result : 22.33
1、math.round(0.333, 2);//按照四捨五入的國際標準
2、double dbdata = 0.335; string str1 = string.format("", dbdata);//預設為保留兩位
3、decimal.round(decimal.parse(「0.3453」), 2)
4、convert.todecimal(「0.3333」).tostring(「0.00」);
string.format("", a) 保留小數點後一位
string.format("", a) 保留小數點後兩位
string.format("", a) 保留小數點後三位
double s=0.55555;
result=s.tostring("#0.00");//點後面幾個0就保留幾位
c#保留小數字n位四捨五入
double dbdata = 0.55555;
string str1 = dbdata.tostring(「f2」);//fn 保留n位,四捨五入
四捨五入保留兩位小數
1.double x2 0.5698 system.out.println string.format 2f x1 2.以指定的捨入模式格式化雙精度浮點型小數 param d 需格式化小數 param precision 保留小數字數 param roundingmode 捨入模式 return p...
sql 保留兩位小數 四捨五入
而資料庫實際上寫入的資料分別為 不管是總彙總資料還是條目彙總資料都是根據,每一條出庫資料,是以單價為組,單價 總面積的和得到每條細目的 或者是總 在sql處理的過程中計算擷取了兩位,造成了有些資料直接截掉,沒有按照四捨五入的規則,出現了0.01的誤差。sql計算預設保留精度。處理資料的時候要經常用到...
Golang四捨五入保留兩位小數
四捨六入 value,strconv.parsefloat fmt.sprintf 2f 9.824 64 fmt.println value value,strconv.parsefloat fmt.sprintf 2f 9.826 64 fmt.println value 第三位為5且5之後有有...