不能直接调用Math.Round方法的,这可和Java的不一样哦
Math.Round这个函数的解释是将值按指定的小数位数舍入,并不就是四舍五入。这种舍入有时称为就近舍入或四舍六入五成双
- C# code
-
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
-
Math.Round(3.5) //result:4
-
Math.Round(5.5) //result:6
-
Math.Round(6.5) //result:6
-
Math.Round(8.5) //result:8
-
Math.Round(9.5) //result:10
可以看出 并不是四舍五入的 其实在 VB, VBScript, C#, J#, T-SQL 中 Round 函数都是采用 Banker's rounding(银行家舍入)算法,即四舍六入五取偶。事实上这也是 IEEE 规定的舍入标准。因此所有符合 IEEE 标准的语言都应该是采用这一算法的。
请调用 Math.Round(Decimal, MidpointRounding) 重载!~哦,原来还有重载的方法可用,MidpointRounding在两个数字之间时如何舍入的规范,规范MidpointRounding中它有2个成员,一个是ToEven还有个是AwayFromZero。
- C# code
-
//四舍五入 Math.Round(0.5,MidpointRounding.AwayFromZero)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
2011-09-17 网页美工设计
2011-09-17 关于换位思考
2011-09-17 IT公司组织机构和职位、职位职责
2010-09-17 实现Excel数据导入到SQL2005中的方法(回顾)
2009-09-17 Geodatabase
2009-09-17 ArcGIS Server中的各种服务[转载]
2007-09-17 页面图像动态加热区,(使用map标签)