Цель этой программы - дать правильные изменения. Например:Отображение BigDecimal как целого при сохранении исходного значения
Входной сигнал: $ 45,54
Выход: 4 Десять долларовых банкнот, 1 Пять долларовых банкнот, 2 Четверти, 4 пенниа.
Теперь на мой вопрос:
Я хочу, чтобы отобразить BigDecimal как целое число без потери первоначальной стоимости, так как я должен продолжать мою дивизию всего путь вниз, пока я не дойду до 0,01 за гроши.
Мой текущий код выглядит следующим образом:
BigDecimal tenDollar = BigDecimal.valueOf(10);
BigDecimal tenDollarNext;
BigDecimal fiveDollar = BigDecimal.valueOf(5);
BigDecimal fiveDollarNext;
/* Get Input From User */
System.out.print("Please enter the amount to be converted: ");
Scanner scan = new Scanner(System.in);
BigDecimal money = scan.nextBigDecimal();
NumberFormat usdFormat = NumberFormat.getCurrencyInstance(Locale.US);
usdFormat.setMinimumFractionDigits(2);
usdFormat.setMaximumFractionDigits(2);
System.out.println("Amount you entered: " + usdFormat.format(money));
/* Begin Processing and Displaying Information */
tenDollarNext = money.divide(tenDollar);
System.out.println(tenDollarNext + " Ten Dollar Bills");
fiveDollarNext = tenDollarNext.divide(fiveDollar, 0, RoundingMode.FLOOR);
System.out.println(fiveDollarNext + " Five Dollar Bills");
который заканчивается Показано:
Please enter the amount to be converted: 45.54
Amount you entered: $45.54
4.554 Ten Dollar Bills
0 Five Dollar Bills
Моя цель состоит в том, чтобы иметь 4,554 отображается как 4 без потери знаков после запятой в конце для расчет. Я уверен, что есть простой ответ на этот вопрос, я надеялся, что кто-то может сказать мне конверсию или указать мне в направлении того, где я могу найти ответ. Ни один из моих поисковых запросов не помог.
Невероятный ответ! Спасибо огромное! –