簡體   English   中英

乘法時得到錯誤的值

[英]Getting wrong value when multiplying

我正在編寫一個Android應用,並且我有一種算法可以從多個變量中計算出一些分數,但是在計算時,我得到了錯誤的答案:

當我將mv,ptv,txtv設置為10時我得到10300,而我應該得到100。當我將其設置為1時,我得到300作為答案。

int f;
f = (((mv*ptv*txtv)/10^3)*100);
int finalScr = f;
TextView scoreView = (TextView)findViewById(R.id.textView3);
scoreView.setText(Integer.toString(finalScr));

所有變量均為整數,所有變量的最大值為10,最小值為1。

請幫助..我不認為我在數學上是錯誤的:P

^不是Java的冪運算符。 這是一個XOR運算符。

您應該為此使用Math.pow(10, 3)

f = (int)(((mv*ptv*txtv)/Math.pow(10, 3))*100);

需要將類型轉換為int ,因為Math.pow的結果是double類型。

^不是指數運算符。 它是一個xor運算符。 你需要做到

f = (((mv*ptv*txtv)/(10*10*10))*100);

暫無
暫無

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

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