Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何指定十进制分隔符_Java_Double_Delimiter - Fatal编程技术网

Java 如何指定十进制分隔符

Java 如何指定十进制分隔符,java,double,delimiter,Java,Double,Delimiter,我有一个相当简单的问题。我得到了像6.03这样的实数输入,但这给了我错误。如果我把它改成6,03,没关系。一、 但是,无法更改我需要处理的输入,因此如何告诉Java使用。作为分隔符而不是 谢谢您可能遇到了区域设置问题。您可以使用 NumberFormat format = NumberFormat.getInstance(Locale.US); Number number = format.parse("6.03"); double d = number.doubleValue(); 区分区域

我有一个相当简单的问题。我得到了像6.03这样的实数输入,但这给了我错误。如果我把它改成6,03,没关系。一、 但是,无法更改我需要处理的输入,因此如何告诉Java使用。作为分隔符而不是


谢谢

您可能遇到了区域设置问题。您可以使用

NumberFormat format = NumberFormat.getInstance(Locale.US);
Number number = format.parse("6.03");
double d = number.doubleValue();
区分区域设置的格式

前面的示例为默认区域设置创建了DecimalFormat对象。如果要为非默认语言环境使用DecimalFormat对象,请实例化NumberFormat,然后将其强制转换为DecimalFormat。下面是一个例子:

NumberFormat nf = NumberFormat.getNumberInstance(loc);
DecimalFormat df = (DecimalFormat)nf;
df.applyPattern(pattern);
String output = df.format(value);
System.out.println(pattern + " " + output + " " + 
                   loc.toString());
运行前面的代码示例将得到以下输出。第二列中的格式化数字随区域设置的不同而不同:

###,###.###      123,456.789     en_US
###,###.###      123.456,789     de_DE
###,###.###      123 456,789     fr_FR
可以为扫描仪提供要使用的区域设置,您需要指定要使用的区域设置。作为十进制分隔符:

Scanner sc = new Scanner(System.in).useLocale(Locale.ENGLISH); 

请出示你的密码。执行此转换有多种方法,我们不知道您在使用什么。添加了代码。我不认为这很重要,但这里goesSeems喜欢很多代码来实现这一点,考虑到在Delphi中可以只执行小数分隔符:=“|”;我们必须完成。谢谢though@Magicmaster:这大概是一个全球性的变化,影响全球国家?不是个好主意。。。
Scanner sc = new Scanner(System.in).useLocale(Locale.ENGLISH);