1. 程式人生 > >Java 處理貨幣型別

Java 處理貨幣型別

今天get到了一個炒雞好用的處理貨幣的型別!BigDecimal  還有相關格式---> NumberFormat

 public static void main(String[] args){
        double a = 0.03;
        double b = 0.02;
        double c= a-b;
  
    }

把c列印輸出是0.01嗎??試試就知道了!

不管是float,還是double,都不能用做貨幣處理的型別!

試試下面這個吧~

BigDecimal
public static void main(String[] args){
       
        BigDecimal record = new BigDecimal(String.valueOf(10000000));
        BigDecimal new_record = new BigDecimal(String.valueOf(3));
        NumberFormat currency = NumberFormat.getCurrencyInstance();//建立貨幣格式化引用

        NumberFormat percent = NumberFormat.getPercentInstance();
        percent.setMaximumFractionDigits(3);
        sop("貨幣格式:\t" + currency.format(record));
        sop("貨幣格式:\t" + percent.format(0.2145555));
    }

    public static void sop(Object s){
        System.out.println(s);
    }

輸出:

貨幣格式:	¥10,000,000.00
貨幣格式:	21.456%

真的炒雞好用嘻嘻。

這裡沒有把BigDecimal的加減乘數放上來,讀者可以自己寫個demo試試~尤其是在除 這個方法上面~