我正在嘗試做一些基本的數學計算,它一直彈出爲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. 爲什麼65.6 * 100%10等於9,而不是PHP中的0?
- 2. 爲什麼(int)(float.Parse(「0.04」,System.Globalization.CultureInfo.InvariantCulture)* 100)等於3
- 3. 爲什麼thing [:] [0]等於thing [0] [:]?
- 4. 爲什麼+ []或+「」等於0在javascript
- 5. 爲什麼100 * 0.07等於6.9999 ....?
- 6. 長和int等於,等於什麼()
- 7. 爲什麼hamcrest說一個字節0不等於一個int 0?
- 8. 爲什麼0.1 * 10-1不等於0?
- 9. 爲什麼int a = 5 - '0';在Java中可能嗎?
- 10. Java inline int swap。爲什麼在Java中
- 11. iOS - 什麼等價於「stretchableImageWithLeftCapWidth:0 topCapHeight:0」?
- 12. 爲什麼string ='0'不嚴格等於javascript中的新String('0')
- 13. 爲什麼1 | 0,2 | 0在JavaScript中等於2?
- 14. 爲什麼TARGET_OS_WATCH在「WatchKit Extention」目標中等於0?
- 15. 100%不等於100%?
- 16. 爲什麼inline-block的這等於100%不適合在一行
- 17. 當使用指針時,爲什麼'\ 0'等於0?
- 18. 爲什麼printf在*(int *)(0)= 0時不起作用;存在
- 19. 的Python爲什麼INT(「0」)返回false
- 20. 爲什麼INT返回0 - C++
- 21. 什麼是go的等價於argv [0]?
- 22. 爲什麼整數0等於PHP中的一個字符串?
- 23. 爲什麼OBJ [-0]不等於OBJ - 在JavaScript
- 24. 什麼等於Theano中的[a <0] = 0?
- 25. 等於0時
- 26. 爲什麼{typedef int * PTR; const PTR p = #}不等於「const int * p = num」而是等於「int * const p = num」?
- 27. NSUInteger小於0,爲什麼?
- 28. 爲什麼在JavaScript中0010等於8?
- 29. 爲什麼這在php中等於false
- 30. int test [] = new int [0]是什麼意思?
好傢伙,不會再次....整數除法這種方式工作的每一種語言。 – duffymo 2012-04-26 14:51:15
@duffymo不是弱類型的語言;) – dtech 2012-04-26 14:53:33
真的嗎?發佈JavaScript示例。我很肯定,當你劃分它們時,兩個整數將以這種方式起作用。 – duffymo 2012-04-26 14:54:45