C#使⽤Math.Round()四舍五⼊
C#使⽤Math.Round()四舍五⼊
1.使⽤重载函数Math.Round(值,精确位数) ( 四舍六⼊五取偶)
如果不指定第三个参数,则等效为第三参数指定MidpointRounding.ToEven,即向最近的偶数四舍五⼊。
这个时候不是我们通常认为的四舍五⼊
2.使⽤重载函数Math.Round(值,精确位数,MidpointRounding.AwayFromZero)
70周年大阅兵当第三个参数设置为MidpointRounding.AwayFromZero,从字⾯上看,是指向远离 0 的地⽅四舍五⼊
例:Respon.Write(Math.Round(1.5,0, MidpointRounding.AwayFromZero).ToString()); 返回值:2
简短睡前故事
女孩子生日祝福语经测试,个别⼩数使⽤2⽅法依然不能四舍五⼊,以526.925为例,使⽤⽅法2:
Math.Round(526.925,2, MidpointRounding.AwayFromZero) 返回值:526.92
风流女教师围绕该⼩数进⼀步测试发现,百位数5,6,⼗分位4、9,百分位数字2、3,⼗位数字和个位数字任意,当取2位⼩数时会出现四舍五⼊失灵的情况。党章内容全文>幼儿教师观
此时,需要将double转化为decimal类型进⾏四舍五⼊
Math.Round((decimal)526.925,2, MidpointRounding.AwayFromZero)
综上,若要使⽤四舍五⼊取值,则尽量在double前⾯加decimal。可能为为double转decimal之后提⾼了精度银河公园
注:
1. decimal:属于精度⾼于double类型的浮点型(28个有效位)
>装表接电