当前位置: 技术问答>java相关
如何取得小数点后两位的数字?
来源: 互联网 发布时间:2015-09-29
本文导语: double unitMoney = 121212.111; double personMoney = 121212.100 请问如何处理,能够使以上两个属性返回值保留小数点后两位,即 unitMoney = 121212.11 personMoney = 121212.10 注意,这里的personMoney的小数点后两位为10,而不是1。 ...
double unitMoney = 121212.111;
double personMoney = 121212.100
请问如何处理,能够使以上两个属性返回值保留小数点后两位,即
unitMoney = 121212.11
personMoney = 121212.10
注意,这里的personMoney的小数点后两位为10,而不是1。
double personMoney = 121212.100
请问如何处理,能够使以上两个属性返回值保留小数点后两位,即
unitMoney = 121212.11
personMoney = 121212.10
注意,这里的personMoney的小数点后两位为10,而不是1。
|
没必要,也不可能,精度是固定的。
小数点的位数在打印出来时关心,在转化为字符串时才关心。
可以用java.text.DecimalFormat来实现表示数字的字符串格化。
小数点的位数在打印出来时关心,在转化为字符串时才关心。
可以用java.text.DecimalFormat来实现表示数字的字符串格化。
|
用String.ValueOf转成String
截取小数点后两位,然后判断子串长度,不够的补0
截取小数点后两位,然后判断子串长度,不够的补0
|
import java.txt.*;
DecimalFormat df = new DecimalFormat("#####0.00");
df.format(double);
DecimalFormat df = new DecimalFormat("#####0.00");
df.format(double);
|
double f = 121212.111;
BigDecimal b = new BigDecimal(f);
double f1 = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
BigDecimal b = new BigDecimal(f);
double f1 = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();