【发布时间】:2011-12-25 11:55:18
【问题描述】:
我正在做一个大学作业,我用双打来赚钱。我知道不建议对货币值使用双精度值,所以我想知道如何用 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)));
}
}
【问题讨论】:
标签: java currency bigdecimal