Я работаю над приложением типа кассового аппарата, у меня возникают проблемы при разделении долларов и центов. Я могу получить доллары самим собой, но не центами. Здесь я и сейчас.Java Change Rounding
изменение 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 "\\". а не просто "."? –
Вы не должны использовать значения с плавающей запятой за деньги. Используйте целое или длинное значение для центов, и по модулю 100 для изменения. См. Этот вопрос: http://stackoverflow.com/questions/3730019/why-not-use-double-or-float-to-represent-currency –
Или используйте BigDecimal (хотя остерегайтесь спуска на безумие при попытках сравнений и равных) – stringy05