소수점 뒤의 몇 자리를 정확하게 하는 네 가지 방법

3510 단어
코드:
package com.jc.test;

import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.text.NumberFormat;

/**
 *               
 * @author wang-xiaoming
 *
 */
public class TestPrecision {
    public static void main(String[] args) {
        double pi = Math.PI;
        
        //    :  decimalFormat
        DecimalFormat df = new DecimalFormat(".00");
        System.out.println("decimalFormat.format(): " + df.format(pi));
        
        //    :  String  format  
        System.out.println("string.format(): " + String.format("%.2f", pi));
        
        //    :  bigDecimal
        BigDecimal bd = BigDecimal.valueOf(pi);
        pi = bd.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
        System.out.println("bigDecimal.doubleValue(): " + pi);
        
        //    :  numberFormat
        NumberFormat nf = NumberFormat.getNumberInstance();
        nf.setMaximumFractionDigits(2);
        System.out.println("numberFormat.format(): " + nf.format(pi));
    }
}

결과:
decimalFormat.format(): 3.14
string.format(): 3.14
bigDecimal.doubleValue(): 3.14
numberFormat.format(): 3.14

좋은 웹페이지 즐겨찾기