首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Java向上舍入任意数字

Java向上舍入任意数字
EN

Stack Overflow用户
提问于 2010-12-28 02:00:03
回答 7查看 372.9K关注 0票数 161

对于一个简单的问题,我似乎找不到我想要的答案:如何将任何数字四舍五入到最接近的int

例如,当数字是0.20.7,0.2222,0.4324,0.99999时,我希望结果是1。

到目前为止,我已经

代码语言:javascript
复制
int b = (int) Math.ceil(a / 100);

不过,它似乎没有做到这一点。

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2010-12-28 02:02:43

Math.ceil()是要调用的正确函数。我猜a是一个int,它会让a / 100执行整数运算。请尝试使用Math.ceil(a / 100.0)

代码语言:javascript
复制
int a = 142;
System.out.println(a / 100);
System.out.println(Math.ceil(a / 100));
System.out.println(a / 100.0);
System.out.println(Math.ceil(a / 100.0));
System.out.println((int) Math.ceil(a / 100.0));

输出:

代码语言:javascript
复制
1
1.0
1.42
2.0
2

请参阅http://ideone.com/yhT0l

票数 320
EN

Stack Overflow用户

发布于 2010-12-28 02:07:52

我不知道为什么你要除以100,但这里我的假设是int a;

代码语言:javascript
复制
int b = (int) Math.ceil( ((double)a) / 100);

代码语言:javascript
复制
int b = (int) Math.ceil( a / 100.0);
票数 18
EN

Stack Overflow用户

发布于 2016-01-31 17:28:26

代码语言:javascript
复制
int RoundedUp = (int) Math.ceil(RandomReal);

这似乎完成了完美的工作。每次都很有效。

票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4540684

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档