有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何正确地将CSV文件中的字符串形式的浮点数/双精度数作为浮点数/双精度数导入程序?

简介

我制作了一个简单的程序,将数据存储在。csv文件格式,稍后读取以打印。一切都是用Java完成的

csv文件中的数据示例如下:

2018/12/29
Tejido,321 908,13.55,43.18,$15.98,
Ropa,195 045,20.55,45.93,$123.01,
Gorra de visera,126 561,17.43,42.32,$79.54,
Cerveza,80 109,3.37,17.93,$12.38,
Mercancías de playa,75 065,11.48,39.73,$105.93,
Bebidas alcohólicas,31 215,4.84,27.90,$32.29,
Artículos de cuero,19 098,23.13,44.09,$198.74,

到目前为止我尝试了什么

在阅读和研究文档后,我提出了这个解决方案,它非常适合我的问题(如果它有效的话…)

public class CSVinput {

public static void main(String[] args) throws FileNotFoundException
{
    Scanner scan = new Scanner(new File("produccion.csv"));
    scan.useDelimiter(",");
    
    while(scan.hasNext())
    {
        String date = scan.next();
        System.out.println(date);
        String name = scan.next();
        System.out.println(name);
        int quantity = Integer.parseInt(scan.next().replaceAll(" ", "."));
        System.out.println(quantity);
        double quality = Double.parseDouble(scan.next());
        System.out.println(quality);
        double realmQ = Double.parseDouble(scan.next());
        System.out.println(realmQ);
        double cost = Double.parseDouble(scan.nextLine());
        System.out.println(cost);
        
        if (scan.hasNextLine())
        {
            scan.nextLine();
            System.out.println(date+"," + name+"," + quantity+"," + quality+"," + realmQ+"," + cost);
        }
        scan.close();
        
    }

    
}
}

问题出在哪里

问题是,当我尝试导入字符串数据并将其转换为double/float时,它会向我抛出:

Exception in thread "main" java.lang.NumberFormatException: For input 
string: "13.55"

我想,如果我把它解析成两倍,就足以让它正确

完全异常错误

Exception in thread "main" java.lang.NumberFormatException: For input string: "13.55"
at 

java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:580)
at java.lang.Integer.parseInt(Integer.java:615)
at webscraper.CSVinput.main(CSVinput.java:29)
C:\Users\Jonathan\Desktop\WebScraper_03\WebScraper\nbproject\build- 
impl.xml:1339: The following error occurred while executing this line:
C:\Users\Jonathan\Desktop\WebScraper_03\WebScraper\nbproject\build- 
impl.xml:980: Java returned: 1
BUILD FAILED (total time: 1 second)

共 (0) 个答案