【问题标题】:Expression : To convert currency to standard number表达式:将货币转换为标准数字
【发布时间】:2016-01-12 12:18:32
【问题描述】:

我正在尝试将货币格式化为数字。 例如 : element.getValue() 结果 7.461.259,60

我使用此表达式将格式更改为 7461259.60 element.getValue().replace(/[^0-9-]/, '');

但这会导致 7461.259,60

有解决此问题的建议吗?

【问题讨论】:

  • element.getValue()的返回类型是什么?字符串,双?你如何揭示它的价值(“7.461.259,60”)?

标签: javascript math calc


【解决方案1】:

与上述相同的解决方案,但没有正则表达式,这可能会让某些人感到困惑:

var inputVal = "7.461.259,60";

var noDots = inputVal.replace( ".", "" );
var commaToDot = noDots.replace( ",", "." );

var outputVal = parseFloat( commaToDot );

【讨论】:

    【解决方案2】:

    一种可能的解决方案:

    var str = '7.461.259,60';
    
    var val = str.replace(/[^0-9,]/g , '').replace(/,/ , '.') * 1;
    
    document.write(val);

    【讨论】:

    • *1 将某些东西转换为数字是一种黑客行为。你可以直接拨打Number就可以了。
    猜你喜欢
    • 2013-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-31
    相关资源
    最近更新 更多