【问题标题】:Extract a double from a string[] in Java? [duplicate]从Java中的字符串[]中提取双精度? [复制]
【发布时间】:2016-04-04 09:29:46
【问题描述】:

注意:Java

我有一个名为 moneyEntered 的 String[]。

moneyEntered[0] 的值为“$5.00”

我希望创建一个新的 double(称为 amountPendingDeduction),它从 moneyEntered[0] 中提取值“5.00”(即删除美元符号并将其余部分设为 double)。

我该怎么做?

【问题讨论】:

  • 删除$ 符号并使用Double.parseDouble(String)。请注意,如果要表示货币,双精度或浮点基元不是最佳选择。
  • @kevinEsche 有没有办法在不删除美元符号的情况下做到这一点?字符串moneyEntered 本身是用户输入的,他们将输入“$5.00”。另外,什么是最好的货币?大十进制?
  • @derv 我认为没有办法解决它。是的BigDecimal 是一个更好的选择。您不必在这里处理精度损失。

标签: java string double extract


【解决方案1】:

如果你使用货币,double 就可以了:

String money = moneyEntered[0].substring(1);
double moneyValue = Double.parseDouble(money);

【讨论】:

    【解决方案2】:

    试试:

    Double amountPendingDeduction = Double.parseDouble(moneyEntered[0].replace("\\$", ""));
    

    由于 String 是不可变的,moneyEntered[0] 字符串中的美元符号不会发生任何事情。

    【讨论】:

      猜你喜欢
      • 2011-04-28
      • 2022-11-21
      • 1970-01-01
      • 1970-01-01
      • 2018-06-13
      • 1970-01-01
      • 2013-02-26
      • 1970-01-01
      • 2019-04-08
      相关资源
      最近更新 更多