[英]Weird behavior in Eclipse
我現在可能正在經歷的聲音聽起來令人難以置信,但是我將這段代碼與其他操作結合在一起。
double mues1 = 0;
mues1 = (Math.pow((ab/100),2)*tam);
其中ab = 4,tam = 400。
該值應為.64,但變量保持為0.0,並且僅當操作大於1時才更改其值。
如果我用^ 2替換math.pow,則無論哪個值具有“ ab”,該變量都將變為800.0。
為了清楚起見,我正在調試代碼,以便知道其值。
我重新啟動了eclipse和我的計算機,但沒有幫助。
是ab和int嗎? 如果是這樣,則需要將ab/100
更改為(double)ab/100
或ab/100.0
。 否則,它將執行整數除法,該運算將截斷為0。換句話說,就是4/100 = 0。
發生這種情況是因為您正在處理int文字,其值4/100 = 0
。 您應該嘗試使用float常量4.0/100.0
來執行此操作。
當您嘗試執行4^100
,您正在執行“按位異或”,這就是^
在Java中的含義。 這不是您想的那樣,所以請不要那樣做。
您正在將float / double值降級為整數,因此任何0.nn都會被截斷為0。
嘗試這個:
mues1 =(Math.pow((((double)ab / 100),2)*(double)tam);
或者只是將ab
和tam
聲明為double
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.