数字处理

  java 数字格式化:小数点、百分比 NumberFormat Decimalformat

  在处理datatable中数字时,可能为了显示的美观,会要求数字、金额...处理成类似123,456.78这样,每三位加逗号,保留两位小数,这是最近我遇到的,当然还有其他的格式  

  后台处理方法:  

  1:Decimalformat df1 = new Decimalformat("####.000");       

    System.out.println(df1.format(1234.56));    

  显示:1234.560  2:NumberFormat nf   =   NumberFormat.getPercentInstance();   

     // nf.setMinimumFractionDigits( 2 );         保留到小数点后几位        显示:47.00%

   System.out.println(nf.format(0.47));       显示:47%       

(法二)       DecimalFormat df1 = new DecimalFormat("##.00%");   

  //##.00%   百分比格式,后面不足2位的用0补齐       

  baifenbi= df1.format(fen);        显示:47.00%  

3:DecimalFormat   df   =   new   DecimalFormat("###,##0.00");    

   System.out.println(nf.format(24.7));       

   显示:24.70      

   System.out.println(nf.format(23123.47));    

   显示:123,23.47  

补充:0.00、0.01; 0.00%、0.12%这样的数据,如果按照上面的格式可能会造成数据显示成:.00、.01; .00%、.12%,怎么办呢?只要把格式改成:    

   DecimalFormat df1 = new DecimalFormat("0.00");       

   DecimalFormat df2 = new DecimalFormat("0.00%");    

   df1.formatI(number);  

   df2.formatI(number);     

 显示:0.00、0.01; 0.00%、0.12%

jQuery处理方法:  

 1:保留两位小数  

  var Num=3   var Price=11   var ss = (Number(Price*Num)).toFixed(2);

 2:加载DataTable处理数据时

 render : function(data, type, row, meta) {  

           if(data != ""){       

           data = fmoney(data, 2);        

        }     

       return data;   

      }  

然后在公共js里加上这一段:  

function fmoney(s, n) {    

    n = n > 0 && n <= 20 ? n : 2;  //保留小数点后几位,大于0小于20,否则默认两位   

   s = parseFloat((s + "").replace(/[^d.-]/g, "")).toFixed(n) + "";   

     var l = s.split(".")[0].split("").reverse(), r = s.split(".")[1]; 

     t = "";     

 for (i = 0; i < l.length; i++) {     

     t += l[i] + ((i + 1) % 3 == 0 && (i + 1) != l.length ? "," : "");    

    }       

return t.split("").reverse().join("") + "." + r;   }   

当然前提是后台传过来的数据是float、BigDecimal、Decimal...

 3:页面直接获取参数  

  添加标签<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>  

  然后用标签包住数据<fmt:formatNumber value="${order.OdrRefundAmount }" pattern="#,##0.00#"/>

 4:jQuery插件方法

   引入jquery和插件(jquery省略  

   <script src="jquery.formatCurrency-1.4.0.js" type="text/javascript" ></script>

   使用插件API方法,这种会在金额前面加上$符号

   $('.label').formatCurrency();

原文地址:https://www.cnblogs.com/juniorjava/p/7245461.html