Java - 如何快速转换变量整数 - >浮动?

时间:2012-10-20 09:20:21

标签: java variables converter

我是Java的新手,只是尝试根据数学运算转换变量。我们有以下方案:

int var_result;
if(addition) {
  var_result = number1+number2; // number1, number2 => integers
}
else if(division){
  var_result = (float) number1 / number2;
  // and here is the problem - I don't know, how to convert "var_result" from integer to float
}

...just print var result ...

有没有快速的方法,在这种情况下如何转换 var_result 变量?这个例子中最简单的方法是不转换它,只使用float var_result_float,但我不想这样解决...

由于

4 个答案:

答案 0 :(得分:4)

int var_result;已经宣布。您不能指望在其中存储浮动,而不会失去精度。

当您执行类型转换时,该变量暂时被视为另一种类型,用于评估表达式但不会改变实际的内容。

int仍然是int。您应该使用float var_result_float来存储浮动。

答案 1 :(得分:3)

int var_result是一个int变量 如果您需要float,请使用float var_result

  

我不想这样解决......

嗯......这是唯一的方式。

答案 2 :(得分:1)

如果您需要在变量中存储intfloat,可以使用double来存储所有可能的值。

恕我直言如果你可以避免它,请不要使用float,因为它的精确度相当差。

答案 3 :(得分:1)

你不能改变变量的类型,但你可以通过这种方式得到你想要的东西:

Object var_result; 
if(addition) { 
  var_result = new Integer(number1+number2); // number1, number2 => integers 
} 
else if(division){ 
  var_result = new Float( (float) number1 /  (float) number2); 
} 

当然要使用数字,你必须使用instanceof测试类型,并根据需要强制转换为Float或Integer,所以这非常笨拙。