현재 많은 숫자가 포함 된 문자열 번호를 사용하는 Android 프로젝트에서 작업하고 있습니다.문자열 번호를 Android에서 쉼표로 구분 된 문자열 번호로 변환합니다.
그래서 나는 인도 로케일 형식에 쉼표로 구분 된 문자열 번호 예컨대 (1,00,00,00,000
)에 대한에 예컨대 1000000000
의 문자열 번호을 변환 할 수있는 방법이 있는지 알고 싶어요.
미국 로캘 형식 문자열 변환하지만 인도어로 형식을 사용하고 싶습니다.
현재 많은 숫자가 포함 된 문자열 번호를 사용하는 Android 프로젝트에서 작업하고 있습니다.문자열 번호를 Android에서 쉼표로 구분 된 문자열 번호로 변환합니다.
그래서 나는 인도 로케일 형식에 쉼표로 구분 된 문자열 번호 예컨대 (1,00,00,00,000
)에 대한에 예컨대 1000000000
의 문자열 번호을 변환 할 수있는 방법이 있는지 알고 싶어요.
미국 로캘 형식 문자열 변환하지만 인도어로 형식을 사용하고 싶습니다.
나는 (내가 인도에 대한 en_IN
이라고 생각) 적절한 로케일로 포맷터 개체를 초기화 보장, Format
클래스의 format("% ,d", number)
방법을 사용합니다.
그렇다면 처음부터 미국 로케일에서 코드를 게시하는 방법에 대해 코드를 게시하면 사람들이 쉽게 도움을받을 수 있습니다.
thnks bro 나는 format()을 사용했고 원하는 결과를 얻었다 .... – mobilemagic
사용자의 현재 로캘 설정을 사용하여 일반적인 경우를 만들 수 있도록 NumberFormat을 사용해야한다고 생각합니다.
그리고 나는 이것이 현재의 상황이라고 생각 : 여러 수치를 포맷하는 경우, 포맷을 취득하고 시스템에 대한 정보를 가져올 필요가 없습니다 있도록 여러 번 사용하는 것이 더 효율적이다
현지 언어 및 국가 관습을 여러 번.
NumberFormat nf = NumberFormat.getInstance();
for (int i = 0; i < a.length; ++i) {
output.println(nf.format(myNumber[i]) + "; ");
}
참조 : Formatting a Number Using a Custom Format
private String getFormatedData(String unformatedData) {
if(unformatedData != null) {
try {
//unformatedData.replaceAll(",", "");
Double result = Double.valueOf(unformatedData);
DecimalFormat myFormatter = new DecimalFormat("###,##0.00");
//DecimalFormat myFormatter = new DecimalFormat("#,###,###");
//If you don't want to show .00 format
return myFormatter.format(result);
} catch (NumberFormatException e) {
return unformatedData;
}
} else {
return "0.00";
}
}
이 방법을 사용.
.00 값이 필요하지 않으면이 방법을 수정해야한다고 생각합니다. 내가 해결하도록 노력하자.
Pankaj Kumar가 제공 한 답변은 인도어 형식이 아닌 미국 형식으로 출력됩니다. 다음과 같이
NumberFormat.getNumberInstance(Locale.US).format(35634646)
: 당신이 미국의 형식으로 원하는 경우 은 쉽게 다음 코드에 의해 수행 할 수 있습니다 Converting Integer to String with comma for thousands
는이 매뉴얼 코드
을 시도 할 수 있습니다 인도의 형식으로 쉼표로 문자열을 얻으려면public String round(String d)
{
ArrayList<Integer> commas=new ArrayList<Integer>();
String output=null;
char[] preDecimal=d.split("[.]")[0].toCharArray();
int i=preDecimal.length-3;
System.out.println(i);
while(i>0)
{
commas.add(i);
i-=2;
}
StringBuilder sb=new StringBuilder();
for(i=0;i<preDecimal.length;i++)
{
sb.append(preDecimal[i]);
if(commas.contains(i+1))
sb.append(",");
}
output=sb.toString();
return output;
}
미국 로캘 형식으로 어떻게 만들었습니까? – curioustechizen
@ techi.curious : 따르기 ... [link] http://stackoverflow.com/questions/6439447/how-to-convert-string-numbers-into-comma-seperated-integers-in-java – mobilemagic