정수 “”를 갖도록 정수 35634646을 변환하려고하므로 35,634,646이어야합니다.
가장 빠른 방법은 무엇입니까?
답변
System.out.println(NumberFormat.getNumberInstance(Locale.US).format(35634646));
Output: 35,634,646
답변
가장 빨리 요구하지만 “최고”또는 “정확한”또는 “일반”을 의미합니까?
또한 수천을 나타내도록 쉼표를 요구하지만 “사용자의 지역 관습에 따라 사람이 읽을 수있는 정상적인 형태”를 의미합니까?
당신은 그렇게합니다 :
int i = 35634646;
String s = NumberFormat.getIntegerInstance().format(i);
미국인은 “35,634,646”을 얻을 것이다
독일인은 “35.634.646”을 얻을 것이다
스위스 독일인은 “35’634’646″을 얻을 것이다
답변
int bigNumber = 1234567;
String formattedNumber = String.format("%,d", bigNumber);
답변
정수 :
int value = 100000;
String.format("%,d", value); // outputs 100,000
더블스:
double value = 21403.3144d;
String.format("%,.2f", value); // outputs 21,403.31
답변
int value = 35634646;
DecimalFormat myFormatter = new DecimalFormat("#,###");
String output = myFormatter.format(value);
System.out.println(output);
산출: 35,634,646
답변
다른 답변은 정확하지만 다음을 사용하기 전에 로캘을 다시 확인하십시오 "%,d"
.
Locale.setDefault(Locale.US);
int bigNumber = 35634646;
String formattedNumber = String.format("%,d", bigNumber);
System.out.println(formattedNumber);
Locale.setDefault(new Locale("pl", "PL"));
formattedNumber = String.format("%,d", bigNumber);
System.out.println(formattedNumber);
결과:
35,634,646
35 634 646
답변
이 솔루션은 저에게 효과적이었습니다.
NumberFormat.getNumberInstance(Locale.US).format(Integer.valueOf("String Your Number"));