为什么BigDecimal中的浮点数没有重载的valueOf方法?

时间:2017-10-10 19:40:49

标签: java

如果我计算从0.01除以10的所有值,则双精度都可以。

Stream.iterate(BigDecimal.valueOf(0.01), a -> a.divide(BigDecimal.valueOf(10.0))).limit(10).forEach(System.out::println);

但如果我使用花车,它会破裂。对于此任务,值的内部浮点表示不是首选,但为什么BigDecimal中没有重载函数?

Stream.iterate(BigDecimal.valueOf(0.01f), a -> a.divide(BigDecimal.valueOf(10.0f))).limit(10).forEach(System.out::println);

1 个答案:

答案 0 :(得分:3)

不,如果使用浮点数,代码不会中断。 double参数可以接受float值,因此不需要使用float参数重载valueOf。