gpt4 book ai didi

java - 从 String 转换为 BigDecimal 以对货币进行数学计算

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:54:20 25 4
gpt4 key购买 nike

我正在从事一个项目,该项目需要对货币执行一些简单的数学运算,但它以字符串的形式出现。我是 Java/Android 的新手,所以我正在寻求帮助将 String 转换为适合此操作的数据类型。起初我认为 Float 是正确的,但在阅读其他地方并将自己介绍给数字类后,BigDecimal 似乎是正确的。我在正确的轨道上吗?此时我只想从初始发票金额中减去付款总额。我觉得这段代码很简单但很笨拙,我怀疑我错过了很多关于使用货币的细微差别。你会怎么做?热烈感谢所有建议!

    // capture variables from sending activity
String invoiceAmt = getIntent().getStringExtra("invoiceAmt");
String paymentsSum = getIntent().getStringExtra("paymentsSum");

// convert strings to BigD's
BigDecimal amt = new BigDecimal(invoiceAmt);
BigDecimal sum = new BigDecimal(paymentsSum);

// Do the math
BigDecimal invDue = amt.subtract(sum);

// insert the value (back to string) into textView
TextView tvInvoiceDue = (TextView)findViewById(R.id.InvoiceDue);
tvInvoiceDue.setText(invDue.toString());

最佳答案

BigDecimal 是一种很好的方法。使用 intlong 来存储美分也是如此。我听说有些人喜欢 Joda-Money但我自己从未使用过它。

参见 this question .

在您发布的代码中,确保您收到的 String 中没有货币符号。

关于java - 从 String 转换为 BigDecimal 以对货币进行数学计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4973079/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com