NumberFormat 포맷 처리 숫자
6030 단어 자바
public abstract class NumberFormat
extends Format
NumberFormat 은 추상 적 인 클래스 로 Format 에서 계승 합 니 다.
NumberFormat
is the abstract base class for all number formats. This class provides the interface for formatting and parsing numbers. NumberFormat
also provides methods for determining which locales have number formats, and what their names are. NumberFormat 은 추상 적 인 디지털 포맷 클래스 입 니 다.이러한 형식 과 숫자 를 해석 하 는 인터페이스, NumberFormat 도 어떤 언어 환경 이 수치 형식 을 가지 고 있 는 지, 그리고 그들의 이름 이 무엇 인지 확인 하 는 방법 을 제공 합 니 다.
NumberFormat
helps you to format and parse numbers for any locale. Your code can be completely independent of the locale conventions for decimal points, thousands-separators, or even the particular decimal digits used, or whether the number format is even decimal. NumberFormat 은 모든 언어의 숫자 를 포맷 하고 해석 하 는 데 도움 을 줄 수 있 으 며, 코드 가 소수점, 천 자리 구분자, 심지어 특정한 소수 자릿수 의 언어 환경 에 완전히 독립 할 수 있 도록 약속 할 수 있 으 며, 수치 형식 이 짝수 인지 와 는 무관 합 니 다.
2. Number 의 인 스 턴 스 가 져 오기
NumberFormat format = NumberFormat.getInstance();
테스트 코드
public class TestNumberFormat { public static void main(String[] args) { testNumberFormatGetInstance(); System.out.println("----------testNumberFormatDigits------------"); testNumberFormatDigits(); System.out.println("-----------testNumberFormatSetRoundingMode-----------"); testNumberFormatSetRoundingMode(); System.out.println("-----------testNumberFormatParse-----------"); testNumberFormatParse(); }
private static void testNumberFormatGetInstance() { double d = 23323.3323232323; System. out. println (NumberFormat. getInstance (). format (d);//23, 323.332. 현재 결 성 된 언어 환경의 [결 성 된 수치] 형식 을 되 돌려 줍 니 다. System. out. println (NumberFormat. getCurrency Instance (). format (d);//¥ 23, 323.33. 현재 언어 환경 이 부족 한 [화폐] 형식 을 되 돌려 줍 니 다. System. out. println (NumberFormat. getNumberInstance (). format (d));//23, 323.332. 현재 결 성 된 언어 환경의 [공통 수치] 형식 을 되 돌려 줍 니 다. System. out. println (NumberFormat. getIntegerInstance (). format (d);/23, 323. 현재 결 성 된 언어 환경의 [정수] 형식 을 되 돌려 줍 니 다. System. out. println (NumberFormat. getPercent Instance (). format (d));//2, 332, 333%. 현재 결 성 된 언어 환경의 [백분율] 형식 을 되 돌려 줍 니 다. }
private static void testNumberFormatDigits() { NumberFormat format = NumberFormat.getInstance(); format. setParseIntegerOnly (true);/설정 수 를 정수 로 만 해석 해 야 하 는 지 여부 입 니 다. 이 방법 은 포맷 과 무관 하 게 해석 에 만 영향 을 줍 니 다. format. set MinimumFractionDigits (2);/수 치 를 설정 하 는 [소수 부분] 에서 허용 하 는 최소 자릿수 입 니 다. 이 몇 가지 방법 은 포맷 에 만 영향 을 줍 니 다. 해석 과 는 무관 합 니 다. format. setMaximumFractionDigits (3);/수 치 를 설정 하 는 [소수 부분] 허용 하 는 최대 자릿수 format. set MinimumInteger Digits (1);/수 치 를 설정 하 는 [정수 부분] 허용 하 는 최소 자릿수 format. setMaximumInteger Digits (5);/수 치 를 설정 하 는 [정수 부분] 허용 하 는 최대 자릿수
System.out.println(format.format(123.1234));//123.123 System.out.println(format.format(123.1000));//123.10 System.out.println(format.format(123456789.12345));//56,789.123 }
private static void testNumberFormatSetRoundingMode() { NumberFormat format = NumberFormat.getInstance(); format. setMaximumFractionDigits (0);/수 치 를 설정 하 는 [소수 부분] 허용 하 는 최대 자릿수 System. out. println ("기본 모드 는:"+ format. getRoundingMode (). name ());/HALF EVEN System. out. println (format. format (5.6);//6. 5 이상 은 홀수 든 짝수 든 5 를 반올림 합 니 다. System. out. println (format. format (5.4);//5 이하 홀수 든 짝수 든 5 는 버 립 니 다. System. out. println (format. format (1.5);/2. 5 일 때 앞 자리 가 홀수 라면 5 를 반올림 합 니 다. System. out. println (format. format (2.5);/2. 5 일 때 앞 자리 가 짝수 라면 5 는 버 립 니 다. format. setRoundingMode (RoundingMode. HALF UP);//반올림 입 니 다. 이 방법 은 포맷 에 만 영향 을 줍 니 다. 해석 과 는 무관 합 니 다. System. out. println ("현재 모드 는:"+ format. getRoundingMode (). name ());/HALF UP System.out.println(format.format(5.6));//6 System.out.println(format.format(5.4));//5 System.out.println(format.format(1.5));//2 System.out.println(format.format(2.5));//3 }
private static void testNumberFormatParse() { NumberFormat format = NumberFormat.getInstance(); format. setParseIntegerOnly (false);/설정 수 를 정수 로 만 해석 해 야 하 는 지 여부 입 니 다. 이 방법 은 포맷 과 무관 하 게 해석 에 만 영향 을 줍 니 다. format. set 최소 분수 Digits (2);/이 몇 가지 방법 은 포맷 에 만 영향 을 주 며 해석 과 무관 합 니 다. ParsePosition position = new ParsePosition(2);
try { Number number = format. parse ("00123.10050100 엔 드 에 영향 을 받 지 않 습 니 다");/문자열 을 처리 할 수 없 는 [시작] 은 ParseException 을 던 집 니 다. Number number 2 = format. parse ("시작 00123.10050100 끝 에 영향 을 받 지 않 습 니 다", position);/문자열 을 해석 할 때 position. getIndex () 에서 부터 해석 합 니 다.
System.out.println(number.floatValue());//123.1005 System.out.println(number.intValue());//123 System.out.println(number2.doubleValue());//123.100501 System. out. println (position. getIndex ();/16. 해석 하기 전에 시작 부분 문자 의 색인 을 해석 합 니 다. 해석 한 후에 분 석 된 마지막 문자 의 색인 을 대표 합 니 다. System. out. println (position. getErrorIndex ();//- 1. 오류 가 발생 했 을 때의 색인 을 가 져 옵 니 다. 오류 색인 이 설정 되 어 있 지 않 으 면 - 1 입 니 다.
position. setIndex (1);//ParsePosition 을 다시 사용 하려 면 Index 를 다시 설정 해 야 합 니 다. System. out. println (format. parse ("12.345678 마리 해석", position). floatValue ());//2.345678 } catch (ParseException e) { e.printStackTrace(); } } }
테스트 참조:https://www.cnblogs.com/baiqiantao/p/6738842.html
public static void main(String[] args) throws Exception {
NumberFormat format = new DecimalFormat("###0000");
String format2 = format.format(123);//0123 숫자 가 누적 되 었 을 때 숫자 앞의 0 을 저장 하여 일부 파일 번호 등에 서 처리 하기에 편리 하 다.
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.