Blackberry RIM API를 사용하여 매우 간단한 작업을하고 있습니다. 형식을 지정하려는 문자열이 1000000
입니다. 1,000,000.00
Blackberry Java API를 사용하여 십진수를 (###, ###. ##)로 설정하십시오.
에 내가 그렇게하기 위해 두 개의 RIM API 클래스를 시도했지만, 그들 중 누구도 실제로 필요하지 않았다 :
1) javax.microedition.global.Formatter
String value = "1000000";
float floatValue = Float.parseFloat(value);
Formatter f = new Formatter(); //also tried with locale specified - Formatter("en")
String result = f.formatNumber(floatValue, 2);
이 결과 변수 1000000.00
이다 -을 소수점 구분 기호가 있지만 그룹 se가 누락되었습니다. parators (쉼표).
2) net.rim.device.api.i18n.MessageFormat
은 ( 가String value = "1000000";
Object[] objs = {value};
MessageFormat mfPlain = new MessageFormat("{0}");
MessageFormat mfWithFormat = new MessageFormat("{0,number,###,###.##}");
String result1 = mfPlain.format(objs);
String result2 = mfWithFormat.format(objs);
결과 1 자바의 표준 에디션에 java.text.MessageFormat)와 호환 주장 : (mfWithFormat
코드 주석 때이) 나에게주는 단지 일반 1000000
(예상대로하지만, 편치 않은). result2 : throws IllegalArgumentException
. 나는 다음 시도하는 어떤 선택의 여지가있어이 시점에서
어떤 제안이?
어떤 로케일을 사용하고 있습니까? 다른 로케일을 사용해 볼 수 있습니까? –
Blackberry 설명서는 다음과 같이 말합니다. _이 구현은 Formatter 클래스의 현재 로캘 중간 서식 만 지원합니다. 따라서 내 예제에서는 로캘을 지정하지 않습니다. 나는 또한'en' 로케일을 사용해 보았지만 같은 결과를 얻었습니다. 시뮬레이터의 로케일은'en' 또는'en-US'이어야합니다. –
Blackberry API 설명서에서도 다음과 같이 설명합니다. ... (이 클래스는 문자열, 날짜 및 시간 요소 형식을 지원합니다). 따라서 숫자 형식을 지원하지 않습니다. – Richard