我正在用Java制作货币转换应用程序.其他一些很棒的StackOverflowians给了我建议读取BigDecimal,目的是替换double来解决任何精度问题.
我有两个方法系统; 它从起始货币转换为美元,然后将美元价值转换为目标货币.
请注意,我的转化率存储如下:
// Conversion Rates - START (as of October 30, 2018 @ 3:19 AM)
// Rates obtained from exchange-rates.org
//Convert to United States Dollar rates
private final BigDecimal CAD_TO_USD = new BigDecimal(0.76135);
private final BigDecimal EUR_TO_USD = new BigDecimal(1.1345);
private final BigDecimal YEN_TO_USD = new BigDecimal(0.008853);
// Conversion Rates - END
Run Code Online (Sandbox Code Playgroud)
在我用他们各自的BigDecimals取代我的双打之后 - 我决定测试它并看看它是如何运作的.
我的测试人员类运行以下方法来启动转换过程.
public BigDecimal convert()
{
BigDecimal value;
value = convertToUSD(); //Converts the current currency into USD
value = convertFromUSD(value); //Converts the previous USD …Run Code Online (Sandbox Code Playgroud)