use*_*297 6 java junit bigdecimal
每次我运行我的assertEquals时,我的预期BigDecimal都会被舍入,导致它失败.我如何确保它不圆或有另一种方式?
@Test
public void test() {
BigDecimal amount = BigDecimal.valueOf(1000);
BigDecimal interestRate = BigDecimal.valueOf(10);
BigDecimal years = BigDecimal.valueOf(10);
InterestCalculator ic = new InterestCalculate(amount, interestRate, years);
BigDecimal expected = BigDecimal.valueOf(1321.507369947139705200000);
assertEquals(expected, ic.getMonthlyPaymentAmount());
}
Run Code Online (Sandbox Code Playgroud)
Daw*_*ica 19
将它放在引号中并使用BigDecimal构造函数.
BigDecimal expected = new BigDecimal("1321.507369947139705200000");
Run Code Online (Sandbox Code Playgroud)
如果你不这样做,数字会转换为double第一个,然后转换为a BigDecimal,因为它1321.507369947139705200000是一个double文字.这真的不是你想要的.
| 归档时间: |
|
| 查看次数: |
7248 次 |
| 最近记录: |