C# 四舍五入 (解决四舍六入五成双的问题)
四舍六入五成双是一种精确度的计数保留法.舍入规律是"四舍六入五成双",这里"四"是小于五的意思,"六"是大于五的意思,"五"是舍入位之后的尾数逢五的话看前一位,奇进偶不进,就像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:N2}", 0.55555);//2位
string result = String.Format("{0:N3}", 0.55555);//3位
5.保留N位四舍五入 *****************
double s=0.55555;
result=s.ToString("#0.00");//点后面几个0就保留几位
C# 四舍五入 (解决四舍六入五成双的问题)相关推荐
- 重写 toFixed 方法,解决 四舍六入五成双 的问题
// 重写 toFixed 方法,解决 四舍六入五成双 的问题 Number.prototype.toFixed=function (d) { var s=this+""; if( ...
- Java中四舍五入和四舍六入五成双
Math.round()的取整规则结论:四舍五入下取整 例如 A: 11.2 ----> 11 B: 11.6 ----> 12 C: 11.5--->12 D: 11.51-> ...
- 四舍五入 与 四舍六入五成双
今天公司有个同事在调一个asp程序时候,发现 round(1.25,1) 返回的竟然是1.2 而不是1.3 查询了一下CSDN的帖子,发现这竟然是一个Bug: http://search.csdn.n ...
- php 四舍五入,PHP 四舍五入,不四舍五入,四舍六入五成双(银行家舍入)
1.php保留两位小数并且四舍五入,代码如下: round(123.666666, 2); // 123.67 2.php保留两位小数并且不四舍五入,代码如下: $offset = strpos($n ...
- java 四舍六入五成双_EXCEL实现四舍六入五成双修约规则的方法
中国药典的修约原则是四舍六入五成双(只是中国药典这样,USP.EP都是四舍五入).四舍六入五成双的修约原则为: 1. 被修约的数字小于5时,该数字舍去: 2. 被修约的数字大于5时,则进位: 3. 被 ...
- C语言中的四舍六入五成双 和 四舍五入
%.mf 可以让浮点数保留 m 位小数输出 保留的是精度为 四舍六入五成双 就是 5以下舍弃 5以上进位 而当下一位为5时要讨论: 被化简的小数位后面一位的数字等于5时 要看5前面的数字,若是奇数则进 ...
- “四舍六入五成双规则” 与 C语言如何实现“四舍五入”
1.四舍六入五成双规则 对于位数很多的近似数,当有效位数确定后,其后面多余的数字应该舍去,只保留有效数字最末一位,这种修约(舍入)规则是"四舍六入五成双",也即"4舍6入 ...
- 【Python】银行家算法(四舍六入五成双)和使用decimal进行四舍五入处理
在python3中,round(num,n)和'%.nf'%num都是使用银行家算法进行小数位的处理的,即四舍六入五成双.(python2不记得了) 四舍六入五成双介绍 和四舍五入不同的是,对于最大小 ...
- java 四舍六入五成双_显示格式的四舍六入五成双
一.问题描述 在使用快逸复杂报表设计" target="_blank" class="quieeLink1">设计器时,若单元格内的信息为数值, ...
最新文章
- Django rest_framework 认证源码流程
- Careercup | Chapter 4
- 新搭建mysql容易出现问题
- Ubuntu 配置 spark
- 右击菜单一键优化(增加新建office2003、新建reg和bat,删除新建公文包、新建wps、新建rar)...
- 安卓案例:联选系部与专业
- mysql数据库权限传递,mysql数据库权限分配-参考
- BigDecimal 常用方法
- PHP面向对象学习五 类中接口的应用
- Python3的os.popen()与subprocess使用(关于数据处理)
- Intellij IDEA打开Java项目并启动
- Latex笔记:IEEE Access模板 图片排版问题汇总
- 小学计算机绘图体会,辅导小学生电脑绘画的几点做法
- [数理工程学] 梅花易数-[宋]邵雍 宋抄本影印
- Redis主从搭建(哨兵模式),springboot整合redis主从
- 为博客添加樱花飘落的效果
- 与三五同好共赴技术盛宴,不亦说乎?
- 加速ASP.NET Core WEB API应用程序。 第三部分
- 56-20210402华为海思Hi3516DV300的linux系统下读取TF卡(eMMC模式)
- mac下使用夜神模拟器调试