数字格式化var中的字符串

时间:2014-04-28 06:47:46

标签: jquery

我有这个变量data,其中包含一个巨大的HTML代码。

在其中的某个地方,有<td></td>个标签包含一个金额(例如<td>1000.00</td>)。我想把它格式化为英文符号,但是,我不知道怎么做,因为它是一个巨大的字符串。

这里最好的方法是什么?

5 个答案:

答案 0 :(得分:1)

我建议你在数据字符串中生成

<td class="format-this">1000.00</td>

然后在jquery,

var MyDataToFormat = $("<div></div>").html(data);

OR

var MyDataToFormat = $("<div />", { html: data }) //thankz for suggesting this

现在你将获得一个DOM对象。

然后像这样使用数字格式化器Jquery number formatter来格式化这些类。

$(MyDataToFormat).find('.format-this').each(function() {
    $(this).html($.number($(MyDataToFormat).children('.format-this').html()));
});

这将使用ure格式更改DOM内的html。 让我知道,如果这个帮助,没有测试,写它原始

示例工作,http://jsfiddle.net/q46LC/

答案 1 :(得分:0)

你能进一步澄清吗?您是专门搜索1000.00还是在搜索其中包含一些数字数据的所有标签?

你可能会逃脱

    $('td').each(function() { //check value here 
    });

答案 2 :(得分:0)

转换为货币格式使用以下功能。 See Demo

var amount = "1000.00";
alert(toUSD(amount));

function toUSD(number) {
    var number = number.toString(), 
    dollars = number.split('.')[0], 
    cents = (number.split('.')[1] || '') +'00';
    dollars = dollars.split('').reverse().join('')
        .replace(/(\d{3}(?!$))/g, '$1,')
        .split('').reverse().join('');
    return '$' + dollars + '.' + cents.slice(0, 2);
}

答案 3 :(得分:0)

使用

parseInt("Your number from html");

然后使用此插件进行格式化。或者只是使用原生。

http://www.teamdf.com/web/jquery-number-format/178

答案 4 :(得分:0)

您可以使用jquery.formatNumber插件:

  

用于格式化数字的jQuery插件,适用于货币。选项   选择美分和千位数。默认为美国&#39; 9,999.00。

代码:

//produces 29,323,894.23 (e.g. US standard)
$('td').formatNumber({
  cents: '.',
  decimal: ','
});

演示:http://jsfiddle.net/E5rWF/