【问题标题】:Android Convert Currency TextView Back To DoubleAndroid将货币TextView转换回双倍
【发布时间】:2014-06-20 21:46:58
【问题描述】:

我有一个名为 cardBalance 的 TextView

cardBalance = (TextView) findViewById(R.id.textViewCardBalance);

我这样设置 cardBalance 的文本

double amount = 109.00;
NumberFormat baseFormat = NumberFormat.getCurrencyInstance();
String moneyString = baseFormat.format(amount)
cardBalance.setText(moneyString);

这工作正常,并根据需要显示 $ 符号,我现在的难题是如何获得该值并将其转换回双倍?

我尝试了以下但没有成功

double bal = Double.parseDouble(cardBalance.getText().toString());

如何在没有 $ 符号的情况下取回双精度值

【问题讨论】:

  • 你有没有试过最后不用toString()方法?如果我没记错的话 getText() 应该够用了吧?
  • 是的,Double.parseDouble() 方法需要传入一个字符串,所以如果我尝试不使用 toString(),它将无法编译

标签: java android number-formatting


【解决方案1】:

NumberFormat 对象可用于解析和格式化。

NumberFormat.parse() 的文档

使用 this 的规则从指定的字符串中解析一个数字 数字格式。

所以,只需使用baseFormat.parse(cardBalance.getText().toString())).doubleValue();

【讨论】:

  • 谢谢,我试过了,我得到 ClassCastException: java.lang.Long cannot be cast to java.land.Double。
  • @ValOkafor 你把.doubleValue() 放在上面的sn-p 中了吗?
猜你喜欢
  • 2014-03-13
  • 1970-01-01
  • 1970-01-01
  • 2014-08-28
  • 2014-07-22
  • 1970-01-01
  • 2020-10-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多