java实现数值千分位格式化且保留指定小数位且小数位不进行四舍五入

Python018

java实现数值千分位格式化且保留指定小数位且小数位不进行四舍五入,第1张

保留指定位数能进行四舍五入

public static void main(String[] args) {

String str ="12312323423423.123283123"

BigDecimal b = new BigDecimal(str)

//,代表分隔符

//0.后面的##代表位数 如果换成0 效果就是位数不足0补齐

DecimalFormat d1 =new DecimalFormat("#,##0.####(#)")

System.out.println(d1.format(b))

}

不四舍五入的方法

String str ="12312323423423.123283923"

BigDecimal b = new BigDecimal(str)

//,代表分隔符

//.后面的##代表位数 如果换成0 效果就是位数不足0补齐

DecimalFormat d1 =new DecimalFormat("#,##0.######")

// 设置舍入模式

d1.setRoundingMode(RoundingMode.FLOOR)

System.out.println(d1.format(b))

//先把double转化称string形

double d

String s

d=3.14159...

s=""+d

//截取3位加,输出

int i

for(i=0i<s.lengthi+=3)

{

System.out.println(s.substring(i,i+3)+",")

}

说明:这个只是说明一种思路吧,具体的还要找出小数点的位置进行操作(分别往左,往右输出,往左的逆序),祝你好运