Java Math.floor(),Math.round(),Math.ceil(), num.toFixed()总结(转+编)
Java Math的 floor,round和ceil的总结 收藏
floor 返回不大于的最大整数
round 则是4舍5入的计算,入的时候是到大于它的整数(当-1.5时可见,四舍五入后得到的结果不是我们期待的,解决办法是先对他取绝对值,然后在用round方法)
round方法,它表示“四舍五入”,算法为Math.floor(x+0.5),即将原来的数字加上0.5后再向下取整,所以,Math.round(11.5)的结果为12,Math.round(-11.5)的结果为-11。
ceil 则是不小于他的最小整数
看例子
num | Math.floor | Math.round | Math.ceil |
1.4 | 1 | 1 | 2 |
1.5 | 1 | 2 | 2 |
1.6 | 1 | 2 | 2 |
-1.4 | -2 | -1 | -1 |
-1.5 | -2 | -1 | -1 |
-1.6 | -2 | -2 | -1 |
至于toFixed()
var k = 1.74.toFixed(1), m = 1.75.toFixed(1), n = 1.76.toFixed(1);
结果 1.7,1.8,1.8
测试程序如下:
view plaincopy to clipboardprint?
01.public class MyTest {
02. public static void main(String[] args) {
03. double[] nums = { 1.4, 1.5, 1.6, -1.4, -1.5, -1.6 };
04. for (double num : nums) {
05. test(num);
06. }
07. }
08.
09. private static void test(double num) {
10. System.out.println("Math.floor(" + num + ")=" + Math.floor(num));
11. System.out.println("Math.round(" + num + ")=" + Math.round(num));
12. System.out.println("Math.ceil(" + num + ")=" + Math.ceil(num));
13. }
14.}
public class MyTest {
public static void main(String[] args) {
double[] nums = { 1.4, 1.5, 1.6, -1.4, -1.5, -1.6 };
for (double num : nums) {
test(num);
}
}
private static void test(double num) {
System.out.println("Math.floor(" + num + ")=" + Math.floor(num));
System.out.println("Math.round(" + num + ")=" + Math.round(num));
System.out.println("Math.ceil(" + num + ")=" + Math.ceil(num));
}
}
运行结果
Math.floor(1.4)=1.0
Math.round(1.4)=1
Math.ceil(1.4)=2.0
Math.floor(1.5)=1.0
Math.round(1.5)=2
Math.ceil(1.5)=2.0
Math.floor(1.6)=1.0
Math.round(1.6)=2
Math.ceil(1.6)=2.0
Math.floor(-1.4)=-2.0
Math.round(-1.4)=-1
Math.ceil(-1.4)=-1.0
Math.floor(-1.5)=-2.0
Math.round(-1.5)=-1
Math.ceil(-1.5)=-1.0
Math.floor(-1.6)=-2.0
Math.round(-1.6)=-2
Math.ceil(-1.6)=-1.0
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/foart/archive/2009/06/24/4295645.aspx