【问题标题】:Inserting BigDecimal numbers into ArrayList in java在java中将BigDecimal数字插入ArrayList
【发布时间】:2015-08-13 06:46:00
【问题描述】:

如何使用 java 将 BigDecimal 值插入到 ArrayList 中? 首先我声明一个大十进制数(这里是 0),如下所示。 之后我需要将这个 bigdecimal 值“单位”插入到数组列表中。我的代码 sn-p 如下所示。

BigDecimal unit = new BigDecimal(0);
int x=0;
int y=10;

while(x<10){

    // Here i need to insert the `BigDecimal` value "unit" into an `ArrayList` for each iteration of this loop

    x++;
}

【问题讨论】:

  • 你有什么可以开始的吗?
  • 插入有什么问题?你能发布一些代码来帮助我们理解
  • 提供有关您的问题的有用信息!
  • 您能否更具体地说明您的问题是什么?
  • 请添加您的代码 sn-p 以便更好地理解。

标签: java data-structures


【解决方案1】:
System.out.println(80.6 + 379.6);
460.20000000000005

System.out.println(BigDecimal(80.6 + 379.6));
460.200000000000045474735088646411895751953125

Java 执行此操作的位置有多个。无法修复并让程序正常运行,导致我的一些数学程序失败。

尝试了多次,看看是否是编译器问题。

可能有错误?

【讨论】:

    【解决方案2】:

    使用List.add:

    List<BigDecimal> list = new ArrayList<BigDecimal>();
    BigDecimal totalQuantity = new BigDecimal(0);
    list.add(totalQuantity);
    

    【讨论】:

    • 你应该使用List#add(int, E),它在特定位置插入而不是在末尾添加。
    • @Bubletan:我可能遗漏了一些东西,但我没有在问题中看到任何需要在特定位置添加的内容。
    • @fzzfzzfzz 好吧,只是想,因为他没有说应该在最后添加。插入一般意味着您可以将其添加到您想要的任何位置。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-06
    相关资源
    最近更新 更多