获得一个浮动的倒数?

时间:2016-11-06 12:41:54

标签: java math

我知道得到一个int的倒数会是这样的:

int foo = 5;
float recip = 1/foo;

但你怎么去获得浮动的倒数呢?会不会这样?现在我让用户输入倒数,这不是最佳的。有什么想法吗?

修改

为了澄清这里的一些伪代码:

float input = 0.25;
int recip = (get reciprocal here);
System.out.println(recip); //should return 4

谢谢!

1 个答案:

答案 0 :(得分:5)

  

你会如何将float转换为int?

这取决于你想要在小数部分发生什么。

如果你想砍掉它,你可以施放:

float floatValue = 2.7f;
int value = Math.round(floatValue);
System.out.println(value); // 3

如果要对其进行舍入,请使用JDK库中的各种舍入方法,例如Math.round(float)

float input = 0.25f;
int recip = (int)(1.0f / input);
System.out.println(recip); // 4

重新评论:

  

我正在寻找更多的方法来找到值的倒数,而不是舍入值。例如,如果我有0.25作为我的值,那么我希望得到4作为我的输出等。

如果倒数超过该值,则:

float input = 0.25f;
int recip = Math.round(1.0f / input);
System.out.println(recip); // 4

...切断任何小数部分,或

float

......围绕它。 (并且还有其他四舍五入的方法可以让你控制半场比赛,半场比赛,半场比赛,半场比赛,而不是正向无限,等等。“

旁注:使用double而不是2.0几乎没有充分的理由。并注意十进制常数,例如doublefloat。如果您需要f s,请在最后添加2.0fdouble。但是再次:使用{{1}}。 : - )