我在收银机类型的应用程序工作,我分离美元和美分遇到问题。我可以通过自己而不是美分获得美元。这是我目前所在的地方。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