【问题标题】:Read numeric data from file in Java从Java文件中读取数字数据
【发布时间】:2023-03-20 16:46:02
【问题描述】:

我必须添加文件的数字内容。 棘手的部分是数字内容也可以附加。

例如,短语 abc123、123abc 或 abc123def 应被视为 123。此外,abc123.4 或 123.4abc 或 abc123.4abc 应被视为 123.4 如果一个数字有多个点,则不应被视为有效数字,应被忽略。

【问题讨论】:

标签: java string file double delimiter


【解决方案1】:

试试这个,用 cmets 替换以使用你自己的文件而不是字符串

    // Use this instead when you want to try with your own file
    // String source = new String(Files.readAllBytes(Paths.get(filePath)));

    String source = "23 , 23.2 asf 2asfd 2.3asf";
    source = source.replaceAll("[^0-9\\.]+", " ");

    double accumulator = 0;

    try (Scanner doubleScanner = new Scanner(source)) {
        doubleScanner.useLocale(Locale.US);
        while (doubleScanner.hasNextDouble()) {
            double num = doubleScanner.nextDouble();
            System.out.println("Found :" + num);
            accumulator += num;
        }
    }
    System.out.println("Sum :" + accumulator);

打印

Found :23.0
Found :23.2
Found :2.0
Found :2.3
Sum :50.5

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-05-27
    • 2019-05-03
    • 1970-01-01
    • 2021-08-18
    • 1970-01-01
    • 1970-01-01
    • 2012-01-13
    • 2018-01-16
    相关资源
    最近更新 更多