如何将float转换为int

时间:2014-01-26 03:13:31

标签: java floating-point int

从用户输入计算中得到一个十进制浮点数,比如2.856我需要变成整数2。

注意,这必须在代码本身中完成,不能简单地用%。0f输出;我需要它用于将来的计算。

附加说明,我使用了

float Var1;
int Var2;
Var1 = 2.856;
Var2 = (int)Var1;

如果这是最简单的方法,请解释(int)如何工作,因为我不知道。

编辑:好的,所以我在探索中有点不清楚,Var 1 = 2.856已经由代码确定。我实际上并没有输入任何数字;所以使用它我需要将Var1变为Var2。所以我无法输入代码

Var2=(int)2.856

因为2.856一直在变化。 我可以吗

Var2=(int)Var1?

或者那种程度的东西?

3 个答案:

答案 0 :(得分:0)

您必须在号码后加f,因此将其视为float而不是double

var1 = 2.856f;

然后将其投放到int

var2 = (int)var1;

(int) number :这称为强制转换(可以使用其他基本类型,也可以使用类)。将数字转换为int时,它会删除非整数部分(在点之后),并返回整数部分。

注意:我建议您遵循Java命名约定。您的变量应该命名为nameOfVariable,而类应该命名为NameOfClass

答案 1 :(得分:0)

float f = 2.345F;
in i = (int) f;

就这么简单。 是的,如果不清楚的话;你需要在浮点数的值后面放置一个F,否则它将被解释为double。

答案 2 :(得分:0)

这确实是最简单的方法。 (int)所做的是将浮点变量“转换”为整数形式。由于浮点变量通常由于小数点而无法存储为整数,因此(int)通过截断小数部分将浮点数“转换”为整数。因为你在java中工作,所以遵循java命名约定也是一个好主意,在这种情况下,你应该用小写字母开始你的变量名。