4
我正在处理一个需要对货币执行一些简单的数学运算的项目,但它以字符串的形式到达。我是Java/Android的新手,所以我正在寻找从String转换为适合此操作的数据类型的帮助。起初我以为Float是对的,但在读过其他地方并向自己介绍数字类的时候,似乎BigDecimal是正确的。我在正确的轨道上吗?在这一点上,我只是想从初始发票金额中减去付款总额。我感觉这段代码简单但笨拙,我怀疑我错过了关于使用货币工作的细微差别。你会怎么做?所有建议热烈赞赏!从字符串转换为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());
非常感谢您的帮助和链接!这是一个彻底的讨论。往往是这样,我不知道如何最好地问这个问题,以找到正确的答案...... :) – ctgScott 2011-02-11 19:48:18