Java 如何根据区域设置设置数字格式
我有一个输入框,我的网页支持英语和德语 在文本框中,用户应只输入整数Java 如何根据区域设置设置数字格式,java,locale,number-formatting,Java,Locale,Number Formatting,我有一个输入框,我的网页支持英语和德语 在文本框中,用户应只输入整数 那么我如何格式化用户输入的数字1,2(德语),然后我想检查它是否是一个有效的整数,但在这样做之前,我需要将它转换回1.2。如何做到这一点?使用JDK对区域设置的支持: public static void main(String[] args) throws Exception { String str = "1,2"; Number number = DecimalFormat.getInstance(Loc
那么我如何格式化用户输入的数字1,2(德语),然后我想检查它是否是一个有效的整数,但在这样做之前,我需要将它转换回1.2。如何做到这一点?使用JDK对区域设置的支持:
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
使用JDK对区域设置的支持:
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
答案就在这个问题上(或者至少在它的标签上)。使用
NumberFormat
解析输入的字符串,如果没有ParseException
,则该字符串为有效整数
完全正确的是,
NumberFormat
将愉快地将1,2ABC
解析为1.2
。为了避免这种情况,您可以使用parse方法,将ParsePosition
作为参数,并检查解析后的位置是否位于字符串的末尾。答案在问题中(或至少在其标记中)。使用NumberFormat
解析输入的字符串,如果没有ParseException
,则该字符串为有效整数
完全正确的是,NumberFormat
将愉快地将1,2ABC
解析为1.2
。为了避免这种情况,可以使用parse方法,将ParsePosition
作为参数,并检查解析后的位置是否位于字符串的末尾