【问题标题】:javascript converting and exploding string to numberjavascript将字符串转换和分解为数字
【发布时间】:2011-06-03 05:15:33
【问题描述】:

我可以使用什么来将此字符串转换为数字? “148,326.00 美元”

我猜我需要炸掉它并去掉美元符号,然后使用 parseFloat()?这会是最明智的方法吗?

这就是我得到号码的方式:

var homestead = xmlDoc.getElementsByTagName("sc2cash");
document.getElementById('num1').innerHTML = homestead[1].textContent;

【问题讨论】:

  • 尝试让我们知道它是否有效

标签: javascript


【解决方案1】:

您需要删除美元符号和逗号,(字符串替换),然后转换为float

试试这个:

parseFloat('$148,326.00'.replace(/\$|,/g, ''))

见:http://www.w3schools.com/jsref/jsref_parseFloat.asp

或者:http://www.bradino.com/javascript/string-replace/

要处理其他货币符号,您可以改用以下代码(这将删除所有非数值(不包括 .-)):

parseFloat('$148,326.00'.replace(/[^0-9.-]+/g, ''))

【讨论】:

  • /[^0-9\.]+/g 应该只是/[^0-9.]/g
  • 您可能需要注意第二种解决方案,它会返回负数的绝对值。 parseFloat('$-148,326.00'.replace(/[^0-9\.]+/g, '')) 将返回 148326
【解决方案2】:
var s = '$148,326.01';
parseFloat(s.replace(/[^\d.]/g, '')); // => 148326.01

【讨论】:

  • 我稍微修改了编码,我实际上是从 xml 中提取字符串。我应该能够将 var 放在右边
【解决方案3】:
【解决方案4】:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-23
    • 2022-01-23
    • 1970-01-01
    • 1970-01-01
    • 2021-10-23
    • 1970-01-01
    相关资源
    最近更新 更多