Я выполняю задание в колледже, где я использовал двойные деньги. Я знаю, что не рекомендуется использовать double для денежных значений, поэтому мне интересно, как я могу заменить существующий код, который имеет double, на BigDecimal.
Поскольку это задание колледжа, мне не нужна была прямая помощь по моему коду, и я не хотел публиковать его здесь, поэтому я создал следующий код, на который я был бы признателен за прямые ответы, т.е. изменил код Я предоставляю, чтобы я мог понять, что происходит.
Мне интересно, как BigDecimal можно умножить / разделить / сложить / вычесть с помощью int или double или если это даже невозможно.
Существуют и другие темы, касающиеся использования BigDecimal, но они не охватывают мой конкретный вопрос, однако я прошу прощения, если я пропустил сообщение, на которое уже был дан ответ.
Вот код:
import java.util.Scanner;
import java.text.NumberFormat;
class example {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
NumberFormat fm = NumberFormat.getCurrencyInstance();
System.out.println("Enter the first amount:");
double money1 = in.nextDouble();
System.out.println("Enter the second amount:");
double money2 = in.nextDouble();
System.out.println("Enter the third amount:");
double money3 = in.nextDouble();
double tax = 0.2;
double totalmoney = money1 + money2 + money3;
double moneytax = (totalmoney)*tax;
System.out.println("Your money added together is: " + fm.format(totalmoney));
System.out.println("Tax on your money is: " + fm.format(moneytax));
System.out.println("Your money after tax deduction is: " + fm.format((totalmoney-moneytax)));
}
}