如果我计算从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);
答案 0 :(得分:3)
不,如果使用浮点数,代码不会中断。 double参数可以接受float值,因此不需要使用float参数重载valueOf。