【发布时间】:2011-02-11 19:16:31
【问题描述】:
我正在做一个项目,该项目需要对货币执行一些简单的数学运算,但它以字符串的形式出现。我是 Java/Android 新手,所以我正在寻求帮助,将字符串从字符串转换为适合此操作的数据类型。起初我认为 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());
【问题讨论】:
标签: java android string currency bigdecimal