java - 在 Java 中使用 BigDecimal 打印值

标签 java database csv bigdecimal

我需要将 csv 中的确切值存储到数据库中。这些列有货币值(value)。所以 使用 BigDecimal 存储货币值。

考虑以下不同情况的示例:

案例一:

BigDecimal d=new BigDecimal(1);
System.out.println(d);

我得到了预期的输出“1”。

案例二:

但是当我给它加一个小数时,我得到了不同的结果。

BigDecimal d=new BigDecimal(1.1);           
System.out.println(d); 

我得到“1.1000000000000000088817841970012523233890533447265625”作为上述代码的输出。

案例三:

BigDecimal d=new BigDecimal(2.50);
System.out.println(d); 

我得到“2.5”作为上述代码的输出。在这种情况下,它省略了零。

我的客户需要传递给存储在数据库中的完全相同的值。 由于 ,这些值与金钱相关,我不能使用 String 来存储它们。

那么应该怎样做才能获得与我们传递给 Big Decimals 的值完全相同的值?

最佳答案

您可以使用带有String 参数的构造函数

BigDecimal d=new BigDecimal("1");
System.out.println(d.toString());//Will print 1



BigDecimal d=new BigDecimal("1.1");           
System.out.println(d.toString()); //Will print 1.1


BigDecimal d=new BigDecimal("2.50");
System.out.println(d.toString()); //Will print 2.50

关于java - 在 Java 中使用 BigDecimal 打印值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27707070/

相关文章:

java - Jena 结果集为字符串

java - 文件中的句子计数器

php - 迄今为止最好的 PHP DAL(数据抽象层)

php - 如何在codeigniter中的两个不同表中插入和更新值

sql - 在不可连接的列上右连接

python - 将 XML 字符作为字符串读入 ElementTree

python - Pandas:将 DF 拆分为多个 csv

java - 在 Java 中从 URL 中去除 int 的最简单方法?

excel - 将工作表保存为 CSV,且 Excel 公式完好无损

java - 有没有办法让 Java 中的 READY .png 图像变暗?