java - 数字转换为其他数字

标签 java numbers filereader

您好,我在从文件计算数字时遇到一些问题。

我的输入如下rawData.txt:

19.95
5

输出是这样的:

49.0
57

我的代码如下所示:

import java.util.Scanner;
import java.io.FileReader;
import java.io.FileNotFoundException;
import java.io.PrintStream;

class ReadAndWrite
{
    public static void main(String args[])
    throws FileNotFoundException {

        Scanner diskScanner = null;

        diskScanner = new Scanner(new FileReader("rawData.txt"));

        PrintStream diskWriter = new PrintStream("cookedData.txt");

        double total;

        double unitPrice = diskScanner.findWithinHorizon(".", 0).charAt(0);

        System.out.println(unitPrice);

        int quantity = diskScanner.findWithinHorizon(".", 0).charAt(0);

        System.out.println(quantity);

        total = unitPrice * quantity;
        diskWriter.println(total);
        diskScanner.close();
    }
}

最终,cookedData.txt 文件包含数字 2793.0

请帮忙

最佳答案

由于 charAt(0),您仅获取每行的第一个字符,然后将其转换为 double 型(将 char 转换为 double 型!!)

我无法理解你想要做什么,但是使用转换将 char 转换为 double 几乎总是不是你应该做的。

尝试使用 Double.parseDouble 代替。在这里查看:https://docs.oracle.com/javase/7/docs/api/java/lang/Double.html#parseDouble(java.lang.String)

关于java - 数字转换为其他数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34675168/

相关文章:

java - 使用信号量来控制线程数量

java - Delphi 使用 Android Jni 包装器中的过程

java - 删除 TextView 内容时禁用按钮

java - 从java sqlite中的表中删除前k个条目

java - 在 Java 数组中查找 "Missing"整数

java - 如何在大小为 10 的数组中生成最大为 100 的随机数

java - 我如何从字符串中获取int数组

Java从文本(txt)文件中读取字符串

C# 存储输入文件中的字符串以供操作和使用的最佳方式?

javascript - FileReader readAsDataURL 无法读取图像文件