S.K*_*S.K 45 java floating-point integer rounding
如何将浮点数舍入到Java中的下一个整数值?假设
2.1 - > 3
3.001 - > 4
4.5 - > 5
7.9 - > 8
Ste*_*ven 39
你应该看一下java的数学包中的上限:Math.ceil
编辑:添加了Math.ceil的javadoc.可能值得阅读数学中的所有方法.
http://docs.oracle.com/javase/7/docs/api/java/lang/Math.html#ceil%28double%29
public static double ceil(double a)返回大于或等于参数且等于数学整数的最小(最接近负无穷大)double值.特别案例:
- 如果参数值已经等于数学整数,则结果与参数相同.
- 如果参数为NaN或无穷大或正零或负零,则结果与参数相同.
- 如果参数值小于零但大于-1.0,则结果为负零.
请注意,值
Math.ceil(x)恰好是值-Math.floor(-x).
小智 21
试试这个
float a = 4.5f;
int d = (int) Math.ceil(a);
System.out.println(d);
Run Code Online (Sandbox Code Playgroud)
我有同样的问题,我仍然得到较小的int值.这是师,而不是Math.ceil.你必须在int中添加一个(浮点)强制转换.这就是我修复它的方法:
int totalNumberOfCachedData = 201;
int DataCountMax = 200;
float ceil =(float) totalNumberOfCachedData / (float)DataCountMax;
int roundInt = (int) Math.ceil(ceil);
Run Code Online (Sandbox Code Playgroud)
这将给我2 roundInt的值.
看到
float a=10.34f,b=45.678f;
System.out.println((int)Math.ceil(a));
System.out.println((int)Math.ceil(b));
Run Code Online (Sandbox Code Playgroud)
产量
11
46
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
79154 次 |
| 最近记录: |