自(这里小白)学习编码,回答实践问题如下:四舍五入浮动为int
amount = (int) round (c);
凡c
是浮动。 可以肯定地说这行通过四舍五入将浮点数转换为整数吗? 我试图研究将浮点数转换为整数的方法,但没有使用上面的语法。
自(这里小白)学习编码,回答实践问题如下:四舍五入浮动为int
amount = (int) round (c);
凡c
是浮动。 可以肯定地说这行通过四舍五入将浮点数转换为整数吗? 我试图研究将浮点数转换为整数的方法,但没有使用上面的语法。
你应该看看round
的返回值。
如果它返回一个浮点数,那么你的int
转换不会失去精度,并将浮点数转换为int
。
如果它返回一个int
,那么转换发生在函数中,并且不需要再尝试转换它。
这当然是,如果你真的想要整数。如果你想10.8
成为11
,那么你的代码是一个可能的解决方案,但是如果你想要它变成10
,那么只需将它转换(转换)为int
即可。
将32位'float'转换为32位'int' _does_对于大于约2 ** 23的许多值丢失精度。 – chux
我只想做amount = int(c)
下面是一个完整的例子
amount = 10.3495829
amount = int(amount)
print(amount)
它应该打印10!
float具有比整数原始值更高的范围,这意味着float大于int。由于这一事实,你可以只是一个浮动转换为int下浇铸
int value = (int) 9.99f; // Will return 9
只要注意,这个类型转换会截断小数点后的一切,也不会执行任何舍入或地板操作价值。 正如你从上面的例子看到的,如果你的浮点数是9.999,(下)转换为整数将返回9。但是,如果需要四舍五入,则使用Math.round()
方法,该方法通过将float的值加上+0.5并将其截断,将float转换为最接近的整数。
嗯..问题被标记为'C' – bolov
多德学习Java中铸造基本类型。这是非常基本的。请在堆栈溢出发布这些类型的问题之前浏览。 – Popeye
目前我只做到'C',但会考虑到Java上的那些。谢谢。 – COBB87
@ COBB87你应该提及你正在编写代码的语言 –