有关数字格式化的方法

1.利用JS将数字格式化

 function toThousands(num) {
        return (num || 0).toString().replace(/(\d)(?=(?:\d{3})+$)/g, '$1,');
    }

2.利用Java代码将数字格式化,参数是String类型

public static String formatString(String strNum) {
		String result = strNum;  
        int n = strNum.length() % 3; //每三位用逗号分开。  
        if(n == 0){  
            result = strNum.replaceAll("(\\d{3})", ",$1").substring(1); //这里的$1是指前面正则中的第一个括号中的内容  
        } else {  
            result = strNum.substring(0, n)+strNum.substring(n).replaceAll("(\\d{3})", ",$1");  
        }  
          
        return result;  
    }

3.利用Java代码将数字格式化,参数是int/long等类型

主要使用的类:java.text.DecimalFormat 

系统默认小数位数为3,如: 

 DecimalFormat df=(DecimalFormat)NumberFormat.getInstance(); 
 System.out.println(df.format(12.3456789)); 
输出:12.346 


现在可以通过如下方法把小数为设为两位: 

df.setMaximumFractionDigits(2); 
System.out.println(df.format(12.3456789)); 
则输出为:12.35 

4.将数字转化为百分比输出,有如下两种方法:

(1) 

df.applyPattern("##.##%"); 
System.out.println(df.format(12.3456789)); 
System.out.println(df.format(1)); 
System.out.println(df.format(0.015));
输出分别为:1234.57%    100%      1.5% 


(2) 

df.setMaximumFractionDigits(2); 
System.out.println(df.format(12.3456789*100)+"%"); 
System.out.println(df.format(1*100)+"%"); 
System.out.println(df.format(0.015*100)+"%");
输出分别为: 
1,234.57%     100%     1.5% 

5.设置分组大小 

DecimalFormat df1=(DecimalFormat) DecimalFormat.getInstance(); 
df1.setGroupingSize(2); 
System.out.println(df1.format(123456789));
输出:1,23,45,67,89 

还可以通过df1.setGroupingUsed(false);来禁用分组设置,如: 
DecimalFormat df1=(DecimalFormat) DecimalFormat.getInstance(); 
df1.setGroupingSize(2); 
df1.setGroupingUsed(false); 
System.out.println(df1.format(123456789)); 
输出:123456789 

6.设置小数为必须为2位 
DecimalFormat df2=(DecimalFormat) DecimalFormat.getInstance(); 
df2.applyPattern("0.00"); 
System.out.println(df2.format(1.2)); 
输出:1.20 
















  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值