小编Ste*_*the的帖子

从Java方法返回时,BigDecimal不保持实际值

我正在用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)

java precision bigdecimal

4
推荐指数
1
解决办法
407
查看次数

标签 统计

bigdecimal ×1

java ×1

precision ×1