常用小数舍入标准简介
1、标准四舍五入(Math.Round();)
当舍去位的数值大于等于5时,在舍去该位的同时向前位进一;当舍去位的数值小于5时,则直接舍去该位。
2、银行家舍入(decimal.Round())
所谓银行家舍入法,其实质是一种四舍六入五取偶(又称四舍六入五留双)法。其规则是:当舍去位的数值小于5时,直接舍去该位;当舍去位的数值大于等于6时,在舍去该位的同时向前位进一;当舍去位的数值等于5时,如果前位数值为奇,则在舍去该位的同时向前位进一,如果前位数值为偶,则直接舍去该位。
下面举.NET中处理decimal类型的一个例子:
using System; using System.Collections.Generic; using System.Text; namespace ConsoleApplication2 { class Program { static void Main(string[] args) { //Floor方法向负无穷方向舍入为最接近的整数 Console.WriteLine(decimal.Floor(-1.3m)); //-2 Console.WriteLine(decimal.Floor(3.5m)); //3 Console.WriteLine(decimal.Floor(4m)); //4 //Truncate方法向零方向舍入为整数 Console.WriteLine(decimal.Truncate(-1.3m));//-1 Console.WriteLine(decimal.Truncate(3.5m));//3 Console.WriteLine(decimal.Truncate(4m)); //4 //实现正的decimal数值的四舍五入,则必须用下面的技巧,保留到小数点后2位,就用100,保留到小数点后3位就用1000,依次类推 decimal a = 8.335m, b = 8.345m; Console.WriteLine(decimal.Truncate(a * 100 + 0.5m) / 100); //8.34 Console.WriteLine(decimal.Truncate(b * 100 + 0.5m) / 100); //8.35 //实现负的decimal数值的四舍五入,则必须用下面的技巧,保留到小数点后2位,就用100,保留到小数点后3位就用1000,依次类推 decimal c = -8.335m, d = -8.345m; Console.WriteLine(decimal.Truncate(c * 100 - 0.5m) / 100); //8.34 Console.WriteLine(decimal.Truncate(d * 100 - 0.5m) / 100); //8.35 Console.WriteLine(); } } }
注意:小数默认的类型是double类型,所以凡是末尾没加m或M的小数都是double类型。
System.Decimal的Round方法和System.Math结构的Round方法默认情况下,都是采用的银行家舍入,即四舍六入五取偶,其中带一个参数的重载和带两个参数的重载形式下,默认都是银行家舍入。比较特殊的是带三个参数的Round方法,它的第三个参数是MidpointRounding枚举类型,MidpointRounding枚举类型定义了两个枚举值,为了实现四舍五入,我们这里使用的是MidpointRounding.AwayFromZero这个值。MidpointRounding.AwayFromZero枚举值的真正意思是:当一个数字是其他两个数字的中间值时,会将其舍入为两个值中绝对值较大的值。
所以我们既可以使用Round方法的前两种重载形式实现银行家舍入,也可以使用带三个参数的Round方法实现四舍五入,但枚举值必须使用MidpointRounding.AwayFromZero,而不能使用MidpointRounding.ToEven。
相关推荐
在Excel电子表格软件中,四舍五入是一个常见的数值处理操作,用于将数字调整到指定的小数位数。本文将详细对比三种不同的四舍五入方法:ROUND函数、MID函数配合FIND函数以及INT和*10的组合,帮助你了解它们的特点,...
根据给定的信息,本文将详细解释如何在Oracle数据库中计算从2000年1月1日至今经过了多少个月和多少个星期,并且结果需要进行四舍五入处理。 ### Oracle数据库中的日期函数 在Oracle数据库中,进行日期计算是非常...
今天,我们将介绍 Excel 函数在财税实务中的应用,特别是四舍五入、不四舍五入或取整的相关函数。 一、ROUND 函数 ROUND 函数是 Excel 中的一个基本函数,用于对数字进行四舍五入操作。其基本语法为:ROUND(目标...
在JavaScript编程中,处理浮点数四舍五入的方法主要有两种,即Number对象的toFixed()方法和Math对象的round()方法。这两种方法虽然都能实现四舍五入的效果,但它们在四舍五入的规则和应用场景上存在一定的差异。 ...
常用的方法包括toFixed()和round(),它们都能够实现数字的四舍五入,但用法和四舍五入的规则却有着明显的区别。在这里,我们将详细介绍toFixed()和round()这两个方法的特点、使用场景以及它们的规则差异。 首先,...
“数学运算初步讲解(整除、取模、四舍五入基本应用)” 数学运算初步讲解 在 C++ 编程中,数学运算是非常重要的一部分,本节课程将讲解整除、取模和四舍五入的基本应用。 整除的概念 在 C++ 中,除法运算比较...
Excel 取整函数 - 四舍五入为最接近的偶数函数 EVEN Excel 表格取整函数是指在 Excel 中对数字进行取整操作的函数,包括四舍五入、截去小数、向上取整、向下取整等多种方式。其中,四舍五入为最接近的偶数函数 EVEN...
ASP 中的数值取整与四舍五入 ASP 是一种服务器端脚本语言,广泛应用于web开发中。今天我们要讨论的是 ASP 中的数值取整问题。在 ASP 中,获取一个数的整数部分可以使用 Fix 函数,但是 Fix 函数的作用是将小数部分...
然而,在处理Decimal类型的数值时,有时我们需要保留特定的小数位数,但又不希望进行四舍五入操作,而是直接截取小数部分。在C#标准库中,`Decimal.Round()`方法可以用来保留小数位数,但它会执行四舍五入操作。针对...
本课时的主题是“用四舍五入法求商的近似数”,旨在让学生掌握如何在计算过程中根据需要取商的近似值,并理解其在实际问题解决中的应用。 首先,我们要明确近似数的概念。近似数是相对于精确数而言的,它是在一定...
包括: by分组和class分组的区别 datalines与datalines4语句详解 ...round四舍五入用法举例 SAS常用日期和时间函数 SAS导入文件和数据集用法举例 SAS中3种定义宏变量方法 SAS中nodupkey和nodup的区别 。。。。 等等
比如,某市在校学生今年共植树148264棵,通过四舍五入,我们可以得到近似数:约148260棵(四舍五入到十位)、约148300棵(四舍五入到百位)、约148000棵(四舍五入到千位)、约150000棵(四舍五入到万位),这样简化...
- ⑵正确,如果一个数四舍五入到千位是6000,那么原来的数最大可能是6499,因为四舍五入后只保留到千位且不超过6500。 - ⑶正确,19□785省略万位后的尾数约是3万,意味着千位上的数应小于5,所以可以填0、1、2、3...
本篇教案的主要目的是引导学生熟练掌握四舍五入的方法,并理解近似数在实际生活中的应用,以及近似数与准确数之间的区别。 四舍五入是一种数学运算技巧,其基本原理是根据一定标准舍去或增加数值的某一位,以达到...
通过这些练习,学生不仅能够学会如何进行四舍五入,还能够理解四舍五入背后的基本逻辑。 更进一步,教师还会引导学生探讨在保留特定位数的情况下,前面数位能填的最大数是多少。例如,在不改变近似值的前提下,...
如让学生在一组数据中辨识出精确数和近似数,或是尝试将华山的海拔高度四舍五入到百位,以及将山东省人口数四舍五入到亿位,都是让学生将所学知识应用到解决实际问题中去。这些活动不仅让课堂学习更加生动有趣,也...
2. 精度控制:理解浮点数运算可能出现的精度问题,如四舍五入误差。 3. 溢出检测:检查运算结果是否超出浮点数的表示范围,防止错误的计算结果。 4. 异常处理:设置适当的错误处理机制,如除以零或非法数据输入等...
因此,《大数的认识》作为数学教学中的一环,旨在帮助学生建立对大数概念的理解,并能够熟练掌握近似数的计算方法,其中“四舍五入”法作为基本技巧,是培养学生数感和逻辑思维能力的关键。 第5课时的目标是让学生...
在小学五年级上册的数学课程中,"3.6 求小数的近似值"是一个重要的知识点,主要涉及如何使用“四舍五入法”来获取一个数的近似值。这一课件旨在帮助学生理解和掌握近似值的概念,并通过实际应用提升他们的数学思维...