我正在嘗試做一些基本的數學計算,它一直彈出爲0
。我確信它與它是一個int
但我不知道如何解決它。我需要使用整數,但數學到達這些整數使用小數。我該怎麼做?爲什麼int exp1 = 14/20 * 100;在Java中等於'0'?
回答
這對黑莓來說並不是特別的,它是標準的java行爲。
這是因爲你做的整數運算:
int subexpr1 = 14/20; // 0
int subexpr2 = subexpr1 * 100; // 0
使用雙,而不是或更改
int expr1 = (int) 14.0/20 * 100; // Very small possibility of rounding errors
int expr2 = 14 * 100/20; // Will ignore fraction parts
這是整數除法。
要獲得非整數結果,請改用double
。
您可以將其更改爲14 * 100/20 - 然後它會給你想要的。
I.e.改變操作順序(14/20是0)
你的結果被強制轉換爲int
順序,所以你正在失去精度。
嘗試
double exp1 = 14/20.0*100;
這將仍然無法正常工作,因爲'14/20'將會是0 – dtech 2012-04-26 14:52:56
然後,我如何將double作爲int並將其舍入? – 2012-04-26 15:10:56
即。 0.65 * 10 = 6.5但是作爲一個int來投射,所以它輪到7 – 2012-04-26 15:11:28
- 1. 爲什麼(int)(float.Parse(「0.04」,System.Globalization.CultureInfo.InvariantCulture)* 100)等於3
- 2. 長和int等於,等於什麼()
- 3. 爲什麼0.1 * 10-1不等於0?
- 4. 爲什麼int a = 5 - '0';在Java中可能嗎?
- 5. iOS - 什麼等價於「stretchableImageWithLeftCapWidth:0 topCapHeight:0」?
- 6. 爲什麼TARGET_OS_WATCH在「WatchKit Extention」目標中等於0?
- 7. 100%不等於100%?
- 8. 爲什麼INT返回0 - C++
- 9. 什麼是go的等價於argv [0]?
- 10. 爲什麼OBJ [-0]不等於OBJ - 在JavaScript
- 11. 等於0時
- 12. 爲什麼{typedef int * PTR; const PTR p = #}不等於「const int * p = num」而是等於「int * const p = num」?
- 13. NSUInteger小於0,爲什麼?
- 14. int test [] = new int [0]是什麼意思?
- 15. 爲什麼在JavaScript中0010等於8?
- 16. Ruby中的Java CLASSPATH等價於什麼?
- 17. Java中的IntPtr(C#)等價於什麼?
- 18. 爲什麼JavaScript中的0小於Number.MIN_VALUE?
- 19. 爲什麼鍵入「int」永遠不會等於'null'?
- 20. Java中的++ int是什麼?
- 21. 如何使100除以110在Java/Android中等於十進制
- 22. 爲什麼'^ 9等於9?
- 23. 爲什麼_XBEGIN_STARTED等於-1?
- 24. 爲什麼FLT_MIN等於零?
- 25. 爲什麼「1」等於「+1」?
- 26. 爲什麼數字字符的ASCII值等於值加'0'?
- 27. Java中'0'做什麼?
- 28. Android - 使用int值0作爲「null」 - 等價於R.drawable
- 29. int x; arr [100]是什麼意思?
- 30. 爲什麼int&r = 0是非法的,而const int&r = 0是合法的?
好傢伙,不會再次....整數除法這種方式工作的每一種語言。 – duffymo 2012-04-26 14:51:15
@duffymo不是弱類型的語言;) – dtech 2012-04-26 14:53:33
真的嗎?發佈JavaScript示例。我很肯定,當你劃分它們時,兩個整數將以這種方式起作用。 – duffymo 2012-04-26 14:54:45