Java中的四舍五入

大概在小学的时候我们就学过四舍五入, 不过在编程语言中这个概念跟我们所熟悉的算法有点出入。 如果面试中考察你对Math.round()的用法,不知道能不能准确答的上来?

Math的取整

Math中用的比较多的取整方法有三个 · Math.round · Math.floor · Math.ceil

一个个来举例子,

int a = Math.round(22.4)
int b = Math.round(22.5)
int c = Math.round(-22.6)

`

这里的结果分别为 22 / 23 / -23。 如果和你的计算结果不一样的话,这里只要记住一个计算规则就可以,

Math.round(value)的结果等于 value + 0.5 然后向左取整

向左取整的意思是向数轴上靠左的数取整,也有说法叫向下取整,总之都是向更小的数取整。 如果对这个有疑问的话可以拿 -X.6做例子,就马上能明白。

floor 和 ceil

其实这两个最容易记住, floor是地板的意思,ceil则是天花板, 也就是说在计算过程中, floor取的是不大于它的最大整数, ceil取的是不小于它的最小整数。

还是不容易记? 继续搬出数轴,floor就是取所计算的值左边最近的那个整数, ceil就是右边最近的那个。 简单吧?

原文发布于微信公众号 - Android每日一讲(gh_f053f29083b9)

原文发表时间:2018-06-19

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏chenjx85的技术专栏

leetcode-190-Reverse Bits

22750
来自专栏我和PYTHON有个约会

26. 企业级开发基础7:面向对象特征(多态)

多态是让我们的程序在运行的过程中,在不同的状态下进行动态的切换,实现复杂的功能为目的的一种程序开发手段

7410
来自专栏和蔼的张星的图像处理专栏

655. 大整数加法

以字符串的形式给出两个非负整数 num1 和 num2,返回 num1 和 num2 的和。 注意事项: num1 和 num2 的长度都小于5100。 ...

11610
来自专栏木头编程 - moTzxx

PHP常见排序算法整理学习

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011415782/article/de...

24430
来自专栏小詹同学

LeetCode 系列——双指针问题 。

关于 LeetCode 系列有段时间没有逐题更新了 ,还是想到一题一题的刷有些凌乱 。如前段时间的推文所说 ,准备系统的讲讲数据结构相关知识点 。

26420
来自专栏Python爱好者

Java基础笔记02

21920
来自专栏菩提树下的杨过

数据结构与算法C#版笔记--排序(Sort)-下

5、堆排序(HeapSort) 在接触“堆排序”前,先回顾一下数据结构C#版笔记--树与二叉树 ,其中提到了“完全二叉树”有一些重要的数学特性: ? 上图就是一...

21350
来自专栏Java 源码分析

八大排序算法

​ 八大排序算法是面试经常考到的,尤其是快排,希尔排序和归并也是经常会让写代码的题目,其实只要用一句话说明了他们的原理我们写起代码就没那么困难。 冒泡排序...

53130
来自专栏恰童鞋骚年

数据结构基础温故-7.排序

排序(Sorting)是计算机内经常进行的一种操作,其目的是将一组“无序”的记录序列调整为按关键字“有序”的记录序列。如何进行排序,特别是高效率地进行排序时计算...

11110
来自专栏owent

C/C++语言常用排序算法

资料由互联网收集整理,供新手参考学习 这里又生动点的演示:http://www.cnblogs.com/wangfupeng1988/archive/2011...

12710

扫码关注云+社区

领取腾讯云代金券