如何在java中从浮点数转换为大十进制?
2022-08-31 20:12:26
如何在java中从浮点数转换为大十进制?
BigDecimal value = new BigDecimal(Float.toString(123.4f));
从javadocs来看,字符串构造函数通常是将a转换为BigDecimal的首选方法,因为它不会受到构造函数不可预测性的影响。float
BigDecimal(double)
引用文档:
注意:对于其他浮点数和双精度值 NaN 和±Infinity,此构造函数与 Float.toString(float) 和 Double.toString(双精度)返回的值兼容。这通常是将浮点数或双精度转换为 BigDecimal 的首选方法,因为它不会受到 BigDecimal(双精度)构造函数的不可预测性的影响。
float f = 45.6f;
BigDecimal bd = BigDecimal.valueOf(f);
引用文档:
注意:这通常是将双精度值(或浮点数)转换为 BigDecimal 的首选方法,因为返回的值等于从使用 Double.toString(double) 的结果构造 BigDecimal 所得到的值。