Округление изменений Java

1

Я работаю над приложением типа кассового аппарата, у меня возникают проблемы при разделении долларов и центов. Я могу получить доллары самим собой, но не центами. Здесь я и сейчас.

изменение 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

Любая помощь приветствуется.

  • 0
    Почему "\\." а не просто "."?
  • 1
    Вы не должны использовать значения с плавающей запятой для денег. Используйте целое или длинное значение для центов и делайте по модулю 100 для изменения. Смотрите этот вопрос: stackoverflow.com/questions/3730019/…
Показать ещё 3 комментария
Теги:

1 ответ

0
Лучший ответ

Отформатируйте свои данные с помощью объекта NumberFormat:

NumberFormat myCurrencyFormat = NumberFormat.currencyInstance();
String moneyString = myCurrencyFormat.format(change);

Или, если вы не хотите видеть символ денег, используйте DecimalFormat:

DecimalFormat decimalFormat = new DecimalFormat("0.00");
String moneyString = decimalFormat.format(change);
  • 0
    но я просто хочу, чтобы это было двузначное число, например 73
  • 0
    @ user3808597 Тогда делай то, что кто-то уже предложил ... tackoverflow.com/questions/3730019/why-not-use-double-or-float-to-represent-currency

Ещё вопросы

Сообщество Overcoder
Наверх
Меню