> Java > Java베이스 > Java에서 소수점을 유지하는 방법

Java에서 소수점을 유지하는 방법

풀어 주다: 2019-11-19 14:00:44
원래의
4610명이 탐색했습니다.

Java에서 소수점을 유지하는 방법

Java를 연구하다 보면 Java에 속하는 알고리즘에 소수점 유지가 있는 경우가 종종 있습니다. 일반적으로 4가지 방법이 있습니다.

Java에서 소수점을 유지하는 예:

/**
 * 1.BigDecimal常用于金额的计算,
 * 超过16位使用
 */
public void m1() {

    BigDecimal bg = new BigDecimal(f);
    double f1 = bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
    System.out.println(f1);
}

/**
 * 2.DecimalFormat转换最简便
 * 用于格式化十进制数字
 * 常用
 */
public void m2() {
    DecimalFormat df = new DecimalFormat("#.00");
    System.out.println(df.format(f));
}

/**
 * 3.String.format打印最简便
 * 常用
 */
public void m3() {
    System.out.println(String.format("%.2f", f));

}


/**
 * 4.NumberFormat
 *  是所有数值格式的抽象基类。
 */
public void m4() {
    NumberFormat nf = NumberFormat.getNumberInstance();
    nf.setMaximumFractionDigits(2);
    System.out.println(nf.format(f));
}


public static void main(String[] args) {
    java_01 f = new java_01();
    f.m1();
    f.m2();
    f.m3();
    f.m4();
}
로그인 후 복사
rrree

Java에서 소수점을 유지하는 네 가지 방법 소개:

1. BigDecimal

은 금액을 계산하는 데 자주 사용됩니다. 16자리 이상을 사용하는 경우

java.math에서 Java에서 제공하는 API 클래스 BigDecimal입니다. 패키지는 16자리 이상의 자릿수를 계산하는 데 사용됩니다.

배정밀도 부동 소수점 변수 double은 16개의 유효 숫자를 처리할 수 있지만. 실제 응용에서는 더 크거나 작은 숫자를 연산하고 처리해야 합니다. Float 및 double은 과학적인 계산이나 공학적인 계산에만 사용할 수 있습니다. 상용 계산에서는 java.math.BigDecimal을 사용해야 합니다.

BigDecimal은 객체를 생성하지만 +, -, *, / 등과 같은 전통적인 산술 연산자를 사용하여 해당 객체에 대한 수학 연산을 직접 수행할 수 없으며 해당 메서드를 호출해야 합니다. 메소드의 매개변수도 BigDecimal 객체여야 합니다.

2. DecimalFormat

이는 십진수 형식을 지정하는 데 사용되는 NumberFormat의 구체적인 하위 클래스입니다. 가능한 한 빨리 필요한 형식으로 숫자의 형식을 지정하는 데 도움이 될 수 있습니다.

3, String.format

가장 쉬운 인쇄 방법입니다.

String.format 문자열 형식으로 간단히 String.format("Hello %s", "John");

String.format을 호출하면 문자열 형식 문자열이 반환됩니다.

4. NumberFormat

NumberFormat은 모든 숫자 형식에 대한 추상 기본 클래스입니다. 이 클래스는 숫자 값의 형식을 지정하고 분석하기 위한 인터페이스를 제공합니다.

위 4가지 방법 중 2번과 3번이 흔히 사용됩니다.

자바 지식을 더 보려면 java기본 튜토리얼을 따르세요.

위 내용은 Java에서 소수점을 유지하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿