C# 四舍五入 (解决四舍六入五成双的问题)
来源:互联网 发布:魔兽世界加速器mac 编辑:程序博客网 时间:2024/04/28 09:45
四舍六入五成双是一种精确度的计数保留法.舍入规律是"四舍六入五成双",这里"四"是小于五的意思,"六"是大于五的意思,"五"是舍入位之后的尾数逢五的话看前一位,奇进偶不进,就像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# 四舍五入 (解决四舍六入五成双的问题)
- C#处理四舍五入的问题
- 关于c#的四舍五入问题
- C#数字四舍五入的问题
- C#四舍五入问题
- C#四舍五入问题
- c#的四舍五入函数
- 四舍六入五成双
- 四舍六入五成双
- 四舍六入五成双
- 四舍六入五成双
- JS中解决数值很小时四舍五入的精度问题
- JS中解决数值很小时四舍五入的精度问题
- javascript四舍五入的问题
- 四舍五入的问题
- poj1113四舍五入的问题
- C# 标准的四舍五入方法
- C#关于中国式的四舍五入
- 最近发现注意力不集中也有好处
- C#编程风格约定
- 数据库设计方法原则
- 负载均衡实战之一:lvs 核心ipvs
- 计划赶不上变化,做一下计划
- C# 四舍五入 (解决四舍六入五成双的问题)
- 单链表逆序
- 测试一下 live writer
- JAVA学习笔记(三)---关于JAVA中的栈内存、堆内存
- 关于控制文件
- 微软云数据库SQL Azure即将发布或提供PHP支持
- java数组的声明创建及初始化
- SQL SERVER数据库,建立存储过程导出XML文件
- 2009年9月语言排行榜-PHP超越C++