2010-12-29 2 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. 

번역 된 문자열의 일부로 쉼표를 사용하지 않으려합니다. 어떻게해야합니까?Integer는 ResourceBundle에서 가져올 때 쉼표로 형식이 지정됩니다.

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

또 다른 메시지 자원의 숫자 형식을 지정하는 것입니다 (하지만 난 단지 형식은 로케일에 따라 다를 수 있다면 그렇게 할 것이다) :

답변

15

쉬운 방법은 문자열로 전달하는 것입니다

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

흠, 왜 여기에 downvote .. +1. MessageFormat의 작동 방식은 형식을 확인하고 포맷터를 적용하는 것입니다. 그렇게 쉬운 방법으로 해결할 방법이 없습니다. – Bozho

+0

예, 특정 방식으로 표시하려는 경우 MessageFormat에서 패턴을 사용하는 올바른 방법입니다. +1 – LudoMC

+0

2008 년이 분명히 1 년이기 때문에 Integer 대신 Date를 사용할 수도 있습니다 ('{1, date, yyyy} '). – Thilo

관련 문제