如何在Java中将float转换为整数

4

我需要将一个浮点数转换为整数。

Java可以自动将浮点数转换成整数吗?如果可以,是否遵循常规的四舍五入规则(例如3.4被转换为3,但3.6被转换为4)?

3个回答

3

在 Math 库中有一个函数 round(float a),它可以将浮点数四舍五入为最接近的整数。

int val = Math.round(3.6); \\ val = 4
int val2 = Math.round(3.4); \\ val2 = 3

2

虽然有点不干净,但它能正常工作:

double a=3.6;
int b = (int) (a + 0.5);

See the result here


下投票背后的动机是什么? - cloudy_weather
3
我没有给你的回答投下反对票,但是你的解决方案无法编译通过。(int) a + 0.5 的结果是双精度浮点型,不能赋值给整型。你可以试一下。 - morgano
1
任何懂Java且有点常识的人在我的编辑之前就会意识到编译错误出在哪里,并且能够理解我的答案背后的逻辑。然而,我已经进行了编辑并提供了一个链接来展示它的工作和编译情况。 - cloudy_weather

0

使用Math.round(3.6)可以实现该功能。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接