计算并替换页面中的特殊数字(javascript)

时间:2011-05-18 17:11:30

标签: javascript jquery replace numbers

我正在尝试更改网页中特殊数字的格式。

数字格式类似于: 11,111.00澳元

这些变化应该适用于他们:

  1. 从中提取清除号码:(11111)
  2. 计算费用:(11111 * 2)
  3. 使用USD
  4. 更改货币字符串
  5. 使用默认值替换上一个结果: 22222 USD
  6. 请帮我填写此代码:

    $(document).ready(function (){
    $('body').html( function(i,txt) {return txt.replace(/\d+,\d+.\d+ USD/,'blabla AUD'); });
    });
    

3 个答案:

答案 0 :(得分:2)

使用javascript的parseFloat('11,111.00 AUD'.replace(',',''))方法

<强>更新

return (parseFloat(txt.replace(/,/g,'')) * 2)+ " USD"

答案 1 :(得分:1)

See demo of the following →

您必须修复格式化程序才能使返回值高于999,999,但这应该对您有用:

var convertAUDtoUSD = function(i,txt) {
    var formatter = function( val ) {
            val = String(val);
            return (val.length > 3) ?
                        val.substring(0, val.length - 3) 
                        + "," 
                        + val.substring(val.length - 3, val.length)
                   : val;
        },
        replacer = function (str, p1, p2) {
            return formatter(parseInt(p1.replace(/\,/g,''),10) * 2) 
                   + p2.replace('AUD','USD');
        };

    return txt.replace(/(\d+,?\d+)(\.\d+\sAUD)/ig, replacer);
};

$('body').html( convertAUDtoUSD );

Demo →

答案 2 :(得分:0)

这将删除逗号和'AUD',将结果值乘以2并连接'USD'文本。

返回txt.replace(/(,| AUD)/ g,'')* 2 +“USD”;