如何在csv中写冗长的数字而不转换为科学计数法

我正在将长数字作为字符串写到csv文件中。问题是,这些以科学计数法进行通知。

2019100000000000 as 2.02E+15

在Java中是否有避免这种情况的方法?我正在使用apache commons库来创建csv。

private String visitNumber;
public String getVisitNumber() {
    return visitNumber;
}

List<CsvRecord> records = loadData();
    for (PrivateCorporatePatientListingCsv record : records) {
        csvPrinter.printRecord(
                record.getVisitNumber()
        );
    }
zoujitao 回答:如何在csv中写冗长的数字而不转换为科学计数法

使用BigInteger(整数值)或BigDecimal(固定点)作为值保存类,而不是浮点数,它仅也近似于该值(1.2 == 1.2000 ==实际上1.199999999978或类似值) )。

BigDecimal x = new BigDecimal("2019100000000000");
String s = x.toPlainString(); // 2019100000000000
,

您可以指定如何使用NumberFormat(在这种情况下为子类DecimalFormat

)将数字转换为String。
本文链接:https://www.f2er.com/3037136.html

大家都在问