簡體   English   中英

Java-如何快速轉換變量整數->浮點數?

[英]Java - how to quickly convert variable integer -> float?

我是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 ,但我不想以這種方式解決它...

謝謝

int var_result; 已經聲明。 您不能期望在其中存儲浮點數而不損失精度。

當執行類型轉換時,出於評估表達式的目的,該變量會暫時被視為另一種類型,但不會改變其實際含義。

一個整數仍然是一個整數。 您應該使用float var_result_float來存儲浮點數。

int var_result是一個int變量。
如果需要float使用float var_result

我不想這樣解決...

好吧...這是唯一的方法。

如果需要將intfloat存儲在變量中,則可以使用double來存儲所有可能的值。

恕我直言,如果可以避免使用float則不要使用它,因為它的精度相當差。

您無法更改變量的類型,但是可以通過以下方式獲得所需的內容:

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,因此這非常笨拙。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM