从用户输入计算中得到一个十进制浮点数,比如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?
或者那种程度的东西?
答案 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命名约定也是一个好主意,在这种情况下,你应该用小写字母开始你的变量名。