我正在尝试使用Blackberry RIM API做一件非常简单的事情 - 我有一个字符串1000000
,我想要格式化到1,000,000.00
使用黑莓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(声称自己是在Java标准版java.text.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);
RESULT1:(当mfWithFormat
代码注释掉)给了我只是一个普通的1000000
(如预期,但无用)。 结果2:投掷IllegalArgumentException
。
在这一点上我出的选项来尝试下什么......
有什么建议?
它使用的语言环境是什么?你可以尝试不同的语言环境吗? – 2011-01-28 22:19:44
Blackberry文档说:_此Formatter类的此实现此时仅支持语言环境中性格式。因此,我没有在我的示例中指定区域设置。我也尝试使用`en`语言环境,但是我得到了相同的结果。我相信,我的模拟器的语言环境应该是`en`或`en-US`。 – 2011-01-28 22:34:09