我有一个输入框,我的网页支持英语和德语。
在文本框中,用户只应输入整数。
那么如何格式化数字,让我们说用户输入1,2(德语),然后我想检查它是否是一个有效的整数,但在此之前我需要将其转换回1.2。我怎么能这样做..?
答案 0 :(得分:5)
使用JDK对Locales的支持:
public static void main(String[] args) throws Exception {
String str = "1,2";
Number number = DecimalFormat.getInstance(Locale.GERMAN).parse(str);
System.out.println(number);
}
打印:
1.2
答案 1 :(得分:0)
答案在于问题(或至少在其标签中)。使用NumberFormat
解析输入的字符串,如果没有ParseException
,则字符串是有效的整数。
完全正确,NumberFormat
会愉快地将1,2ABC
解析为1.2
。为避免这种情况,您可以使用以ParsePosition
为参数的parse方法,并检查解析后的位置是否在字符串的末尾。