有关数字格式化的方法

来源:互联网 发布:现在编程用什么语言 编辑:程序博客网 时间:2024/06/05 23:43

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 
 
原创粉丝点击