我在收銀機類型的應用程序工作,我分離美元和美分遇到問題。我可以通過自己而不是美分獲得美元。這是我目前所在的地方。Java更改舍入
變化126.7328 美元126 美分,7328
我想美分,僅僅是73,而不是7328.
String changeString = Double.toString(change);
String[] parts = changeString.split("\\.");
String part2 = parts[1];
double cents5 = Double.parseDouble(part2);
int cents = (int)cents5
任何幫助將非常感激。
原因:
或者,如果你不想看到這些錢的符號,使用一個DecimalFormat 「\\」。而不僅僅是「。」? – 2014-09-11 01:10:41
您不應該使用浮點值來獲取金錢。對美分使用整數或長整型值,並對模數100進行更改。看到這個問題:http://stackoverflow.com/questions/3730019/why-not-use-double-or-float-to-represent-currency – 2014-09-11 01:12:04
或者使用BigDecimal(儘管當嘗試比較時要注意下降到瘋狂,並且等於) – stringy05 2014-09-11 01:14:05