如何在 scanner.nextDouble() 中使用两个分隔符? java

How to use two separetor in scanner.nextDouble() ? java

我想读取两种格式的双数(123,123 和 123.123)。

Scaner scaner = new Scaner(new File("in"));
//How to set the scanner up to read double of two formats?
double d = scaner.nextDouble();

您需要正确设置语言环境。例如

scan.useLocale(Locale.UK);

您不希望 123,456.0 被错误地读作 123.456

如果要使用Scanner,可以组合使用

double d = Double.parseDouble(scanner.next().replace(',', '.'));

估计没办法用Scanner读取两种格式,只能写自己的读取方法