题目大概是问Math.Round(11.5);和Math.Round(-11.5);返回值是多少?

原来不是四舍五入这么简单,其实是四舍六入,但是五是很有讲究的。要是遇到五则取离前一位最近的偶数。比如,这条题目,11.5返回值就是12.0;-11.5返回值就是-11.0;

但是这里其实也不是这么简单:

看下面的例子:Math.Round(3.44, 1); //Returns 3.4.Math.Round(3.45, 1); //Returns 3.4.Math.Round(3.46, 1); //Returns 3.5.

依照他的例子得到的是"五舍六入",我改变了一下数字得到的结果将完全改变。

Math.Round(3.445, 1); //Returns 3.4.
Math.Round(3.455, 1); //Returns 3.5.
Math.Round(3.465, 1); //Returns 3.5.

Math.Round(3.450, 1); //Returns 3.4.(补0是无效的)

Math.Round(3.4452, 2); //Returns 3.45.
Math.Round(3.4552, 2); //Returns 3.46.
Math.Round(3.4652, 2); //Returns 3.47.

-----------------------------------------------

Math.Round(3.44, 1) = 3.4
Math.Round(3.45, 1) = 3.4
Math.Round(3.46, 1) = 3.5
-----------------------------------------------
Math.Round(3.54, 1) = 3.5
Math.Round(3.55, 1) = 3.6
Math.Round(3.56, 1) = 3.6
-----------------------------------------------
Math.Round(3.64, 1) = 3.6
Math.Round(3.65, 1) = 3.6
Math.Round(3.66, 1) = 3.7
-----------------------------------------------
Math.Round(3.74, 1) = 3.7
Math.Round(3.75, 1) = 3.8
Math.Round(3.76, 1) = 3.8
这种舍入方法叫做银行家舍入(Banker'sRound),这就是已经规定下来的标准、Round的标准、世界的标准。

这里,其实是根据方法的行为遵循 IEEE 标准 754 的第 4 节。这种舍入有时称为就近舍入或银行家舍入;

总结的口诀是:四舍六入五考虑,五后非零就进一,五后皆零看奇偶,五前为偶应舍去,五前为奇要进一!

按照这样的口诀去做确实能验证以上的返回结果!

Math.round()什么作用?相关推荐

  1. Java Math.round()函数小结

      Math类中提供了三个与取整有关的方法:ceil,floor,round,这些方法的作用于它们的英文名称的含义相对应,例如:ceil的英文意义是天花板,该方法就表示向上取整,Math.ceil(1 ...

  2. java的round函数加点差_【JAVA】Math.Round()函数常见问题“四舍5入”

    java.lang.Math.Round()使用时候,处理方式整理,方便以后查找   /**  * 测试函数 2014-01-10  */ public class TestMath {     pu ...

  3. Math.Round函数

    Math类中提供了三个与取整有关的方法:ceil,floor,round,这些方法的作用于它们的英文名称的含义相对应,例如:ceil的英文意义是天花板,该方法就表示向上取整,Math.ceil(11. ...

  4. Math.round(11.5)等于多少? Math.round(-11.5)等于多少?

    Math.round()运算规则+0.5向下取整 package com.study.JavaBase;import org.junit.Test;/*** @Description Math.rou ...

  5. WinCE的C#编程,对float型进行四舍五入保留两位小数,小数进行四舍五入操作,Math.Round的应用案例。...

    private  float ConvertFloat4Se5Ru(float flotValue) {              int iValue = (int)Math.Round(flotV ...

  6. Math.round(11.5)等于多少?Math.round(-11.5)等于多少?

    ceil的英文意义是天花板,该方法就表示向上取整,Math.ceil(11.3)的结果为12,Math.ceil(-11.6)的结果为-11: floor的英文是地板,该方法就表示向下取整,Math. ...

  7. Math.Round()——面试题小结

    今天面试,碰到一道题,关于Math.Round();也许做应用做久了,脑子不怎么转了,呵呵. 之前竟然没用过这个方法,可能看到过,忘了.....一时想不起来,只猜是四舍五入的,后来还是做错了. 题目大 ...

  8. Math.ceil(),Math.floor()与Math.round()三个函数的定义。

    为什么80%的码农都做不了架构师?>>>    JavaScript: The Definitive Guide, 4th Edition中对Math.ceil(),Math.flo ...

  9. C#取整函数Math.Round、Math.Ceiling和Math.Floor

    1.Math.Round:四舍六入五取偶 引用内容 Math.Round(0.0) //0 Math.Round(0.1) //0 Math.Round(0.2) //0 Math.Round(0.3 ...

最新文章

  1. Android 插件技术实战总结
  2. 2021牛客暑期多校训练营2 L-WeChat Walk(分块)
  3. canvas笔记-画三角形并计算其外心(含算法其他绘图框架类似)
  4. 笔记11:GDI 制作数字验证码
  5. 案例:实现在购物车中添加商品和删除购物车中指定商品的功能
  6. AJPFX解析关于编码ansi、GB2312、unicode与utf-8的区别
  7. sublime3 多行编辑.摘抄
  8. 从AssetBundle中获取图片,给Image 组件替换Sprite
  9. 获取url路径上的参数,(避免中文乱码)
  10. 【Linux】修改镜像源
  11. 解决gbk转utf8乱码
  12. 二阶魔方万能还原公式_2阶魔方教程简单口诀(二阶魔方还原公式口决是什么?)...
  13. oracle季度日均怎么算,求日均值,该如何处理
  14. 基于python和SQLite的NBA历年MVP变化趋势可视化分析
  15. UOJ 【UR #4】追击圣诞老人 题解
  16. 抖音同款口红机 微信口红机 在线游戏口红机开发代码 分析
  17. 学习win32汇编指令:lea和offset
  18. RC滤波 电阻电容的损耗计算方法
  19. mysql中的unix_timestamp函数
  20. 二叉树遍历之前序遍历,中序遍历,后序遍历

热门文章

  1. RabbitMQ入门教程(安装,管理插件,Publisher/Consumer/交换机/路由/队列/绑定关系,及如何保证100%投递等)
  2. echarts3d饼图,环形图(包含透明效果)
  3. 正则表达式系列(1)——去除括号(或其他符号)及其包含的内容
  4. 人脸识别干货讲解:活体检测算法总结
  5. 闲暇之余做一新闻网站
  6. 将数据从MongoDB数据库洗到MySQL数据库
  7. 日记侠:母亲节朋友圈文案你究竟该写点啥?
  8. Androidの网络通信之TDP
  9. python:用turtle写了一个生日祝福。。。
  10. chromebook刷机_如何使用PIN码解锁Chromebook