자바 에서 소수점 뒤의 두 자 리 를 어떻게 유지 합 니까?

2548 단어
자바 에서 반올림 한 후 두 개의 소 수 를 유지 하 는 방법 (double 을 예 로 들 면)
String. format 인쇄
숫자 포맷 설명 형식:
%[argument number][flags][width][.precision]type

argument number: 인자 가 1 보다 크 면 어느 것 을 지정 합 니까?flags: 기호, 예 를 들 어 (+, -,;.);width: 최소 문자 수;.정밀도: 정확도;type: 유형, 예 를 들 어 f: 부동 소수점.
/**
 *   :String.format()
 */
public class Test {
    public static void main(String[] args) {
        double d = 3.1415926;
        //      
        System.out.println(String.format("%.2f", d));
        //    :3.14
    }
}
 //       
 DecimalFormat df = new DecimalFormat("#.##");
 Double get_double = Double.parseDouble(df.format(d));
 System.out.println(get_double);

DecimalFormat 변환
DecimalFormat 은 NumberFormat 의 구체 적 인 하위 클래스 로 10 진수 숫자 를 포맷 하 는 데 사 용 됩 니 다.기호 적 의미:
0 (하나의 숫자 를 대표 합 니 다. 0 이 존재 하지 않 는 다 면)
기호 \ # (하나 이상 의 숫자 를 대표 하고 존재 하지 않 으 면 비어 있 음)
/**
 *    :DecimalFormat("#.##")
 */
public class Test {
    public static void main(String[] args) {
        double d = 3.1415926;
        DecimalFormat df = new DecimalFormat("#.00");
        System.out.println(df.format(d));
    }
}
 //       
 DecimalFormat df = new DecimalFormat("#.##");
 Double get_double = Double.parseDouble(df.format(d));
System.out.println(get_double);

BigDecimal.setScale()
이 방법 은 소수점 을 포맷 하 는 데 쓰 인 다.BigDecimal.ROUND_HALF_UP 는 반올림 을 표시 하고 setScale (2) 은 두 개의 소 수 를 유지 하 는 것 을 표시 합 니 다.
/**
 *    :BigDecimal
 */
public class Test {
    public static void main(String[] args) {
        double d = 3.1415926;
        BigDecimal bd = new BigDecimal(d);
        BigDecimal bd2 = bd.setScale(2, BigDecimal.ROUND_HALF_UP);
        System.out.println(bd2);
    }
}
        //      
        BigDecimal bd = new BigDecimal(d);
        BigDecimal bd2 = bd.setScale(2, BigDecimal.ROUND_HALF_UP);
        Double get_double=Double.parseDouble(bd2.toString());
        System.out.println(get_double);

Math. round () 로
수 를 100 을 곱 한 후 반올림 하여 100.0 으로 나 누 었 다.
주: 자바 에서 Math. round () 는 반올림 으로 정 리 됩 니 다. 몇 개의 소 수 를 유지 하 는 것 을 설정 할 수 없습니다.
/**
 *    :round()  
 */
public class Test {
    public static void main(String[] args) {
        double d = 3.1415926;
        Double get_double = (double) ((Math.round(d * 100)) / 100.0);
        System.out.println(get_double);

    }
}

참고 문헌:
자바 보류 두 소수 4 가지 방법

좋은 웹페이지 즐겨찾기