2010-12-29 10 views
7
year.of.birth={0} was born on {1} 

If I pass 2000 or 2008 to {1} the value gets parsed as 2,000 or 2,008. 

コンマを翻訳された文字列の一部として使用しません。これを避けるにはどうすればいいですか?整数がResourceBundleからフェッチされるときにコンマでフォーマットされます

msg.format("year.of.birth", name, String.valueOf(2008)); 

代替がメッセージリソース内の番号形式を指定することです(しかし、私は唯一の形式は、ロケール間で異なることができるかどうかということだろう)::

答えて

15

簡単な方法は、文字列として渡すことです

year.of.birth={0} was born in {1,number,####} 
+0

hm、なぜここにdownvote .. +1私から。 MessageFormatの働きは、型をチェックしてフォーマッタを適用します。そう簡単に回避する方法はありません。 – Bozho

+0

はい、特定の方法で表示したい場合は、MessageFormatでパターンを使用する正しい方法です。 +1 – LudoMC

+0

2008年は明らかに1年であるため、Integerの代わりにDateを使用することもできます( '{1、date、yyyy}') – Thilo

関連する問題