2
로캘에서 사용하는 적절한 표기법으로 내 번호를 반환하려면 아래 코드를 사용하고 있습니다. 예를 들어 유럽 서식에서는 부동 소수점/복식을 나타내는 십진수가 아닌 쉼표가 사용됩니다. 장치에서 테스트하는 동안이 코드는 작동하지만 Droid X에서는 작동하지 않습니다. (그래서 나는 얼마나 많은 다른 전화기가이 카드에서 발생할 수 있는지 궁금합니다.) 누구든지이 문제를 겪고 있거나 해결책이있을 수 있습니까? 내가 그것을 알아 냈다고 생각다른 Android 장치에서 일치하지 않는 코드가 반환됩니다.
/**
* <p>Converts doubles to twoDecimal points with proper notation per locale</p>
*
* @param double
* @return converted number to 2 decimal points with proper notation
*/
public static String getFormattedValue(double d) {
Locale mLocale = getResources().getConfiguration().locale;
String formattedString;
NumberFormat nf = NumberFormat.getNumberInstance(mLocale);
DecimalFormat df = (DecimalFormat)nf;
df.applyPattern("###,###.##");
formattedString = df.format(d);
return formattedString;
}
"[코드가 Droid X에서 작동하지 않습니다.]"라는 의미는 무엇입니까? 코드가 작동 할 때'mLocale'은 무엇입니까? "작동하지 않습니까?" –
Droid X에서 전화 언어가 스페인어로 설정되어 있으면 위의 코드는 숫자 (쉼표 소수점 이하)에 적절한 표기법을 반환하지 않습니다. 내 응용 프로그램의 외부에서 전화는 "설정"으로 들어가서 응용 프로그램 크기를 보면 표시되는 십진수가 아닌 쉼표를 사용하지 않습니다. Nexus 1은 두 경우 모두 10 진수가 아닌 쉼표를 표시합니다. 내 게시물을 업데이트하고 이미지를 포함합니다. – taraloca