如何在java中将float转换为bigDecimal?
发布于 2010-09-30 16:43:44
BigDecimal value = new BigDecimal(Float.toString(123.4f));在javadocs中,字符串构造函数通常是将float转换为BigDecimal的首选方法,因为它不会受到BigDecimal(double)构造函数不可预测性的影响。
引用自文档:
注意:对于float和double NaN和±无穷以外的值,此构造函数与Float.toString(float)和Double.toString(double)返回的值兼容。这通常是将浮点型或双精度型转换为双精度型构造函数的首选方法,因为它不会受到BigDecimal()构造函数的不可预测性的影响。
发布于 2013-06-28 00:40:49
float f = 45.6f;
BigDecimal bd = BigDecimal.valueOf(f);引用自文档:
注意:这通常是将双精度型(或浮点型)转换为双精度型的首选方法,因为返回的值与使用Double.toString( BigDecimal )构造BigDecimal时返回的值相等。
发布于 2010-09-30 17:36:08
对于小数点后3位的精度:
BigDecimal value = new BigDecimal(f,
new MathContext(3, RoundingMode.HALF_EVEN));https://stackoverflow.com/questions/3829029
复制相似问题