Java에서 긴 정수를 구분 없이 문자열로 포맷하려면 어떻게 해야 합니까?
간단한 질문입니다만, 여기서 질문하는 것은, 다음의 문서를 이해하려고 하는 것보다, 아마 더 간단할 것입니다.MessageFormat
:
long foo = 12345;
String s = MessageFormat.format("{0}", foo);
관측치는 "12,345"입니다.
바람직한 값은 "12345"입니다.
MessageFormat.format("{0,number,#}", foo);
그냥 사용하다
국제화 등 「실제」패턴을 하려고 할 때, 조금 고생했습니다.특히 출력은 표시되는 값에 따라 달라지는 "선택" 형식을 사용해야 합니다.java.text.ChoiceFormat
를 위한 것입니다.
다음은 이 작업을 수행하는 방법의 예입니다.
MessageFormat fmt = new MessageFormat("{0,choice,0#zero!|1#one!|1<{0,number,'#'}|10000<big: {0}}");
int[] nums = new int[] {
0,
1,
100,
1000,
10000,
100000,
1000000,
10000000
};
Object[] a = new Object[1];
for(int num : nums) {
a[0] = num;
System.out.println(fmt.format(a));
}
이것에 의해, 다음과 같은 출력이 생성되므로, 같은 타입의 것을 실현하려고 하는 다른 사람에게도 도움이 되었으면 합니다.
zero!
one!
100
1000
10000
big: 100,000
big: 1,000,000
big: 10,000,000
보시는 바와 같이 "choice" 형식을 사용하면 전달되는 값에 따라 사용할 형식의 유형을 선택할 수 있습니다.작은 숫자는 텍스트로 대체할 수 있습니다(원래 값은 표시되지 않음).중간 크기의 숫자는 그룹 구분 기호(쉼표 없음) 없이 표시됩니다.가장 큰 숫자에도 쉼표가 포함되어 있습니다.분명히, 이것은 완전히 의도된 예로서 다음과 같은 유연성이 있습니다.java.text.MessageFormat
.
인용된 내용에 대한 주의사항#
형식 텍스트: 양쪽에서ChoiceFormat
그리고.MessageFormat
사용 중이고 두 메타캐릭터 사이에 충돌이 있습니다. ChoiceFormat
사용하다#
포맷 엔진이 예를 들어, 예를 들어, 포맷 엔진이 그것을 알 수 있도록 본질적으로 "유효"를 의미하는 메타문자로써1#one!
우리는 비교하고 있다{0}
와 함께1
그리고 만약 그들이 동등하다면, 그것은 특정한 "선택"을 사용합니다.
그렇지만#
또 다른 의미가 있다MessageFormat
그리고 그건 메타문자로써 의미가 있습니다.DecimalFormat
: "숫자를 여기에 입력한다"는 의미의 메타 문자입니다.
왜냐하면 이게...ChoiceFormat
문자열,#
인용할 필요가 있습니다.언제ChoiceFormat
스트링의 해석은 완료됩니다.이러한 따옴표는 보조양식을 전달하면 삭제됩니다.MessageFormat
(그 후 로 넘어갑니다.DecimalFormat
).
그래서 사용할 때{0,choice,...}
, 당신은 그것들을 인용할 필요가 있다.#
캐릭터, 그리고 다른 것들도요.
대체 수단으로서String.format
그리고.java.util.Formatter
당신에게도 도움이 될 수 있어요
가장 빠른 방법은
long foo = 12345;
String s = ""+foo;
다음을 시도해 보십시오.
String s = new Long(foo).toString();
언급URL : https://stackoverflow.com/questions/1942118/how-do-i-format-a-long-integer-as-a-string-without-separator-in-java
'itsource' 카테고리의 다른 글
텍스트 파일에서 mysql 데이터베이스로 데이터를 가져오는 방법 (0) | 2022.09.17 |
---|---|
해당 함수 내에서 함수 이름 결정(트레이스백을 사용하지 않음) (0) | 2022.09.17 |
Python 문자열에서 마지막 구분 기호로 분할하시겠습니까? (0) | 2022.09.17 |
목록을 반복하는 것이 목록을 통해 인덱싱하는 것보다 더 빠른 이유는 무엇입니까? (0) | 2022.09.16 |
단일 파일 구성 요소에 중첩된 템플릿이 있는 VueJS 알 수 없는 사용자 지정 요소 (0) | 2022.09.16 |