Числовое форматирование строки внутри переменной

0

У меня есть data переменных, которые содержат огромный HTML-код.

Где-то в нем есть теги <td></td> которые содержат сумму (например, <td>1000.00</td>). Я хочу отформатировать его в английской нотации, однако я не уверен, как это сделать, поскольку это огромная строка.

Какой был бы лучший подход здесь?

Показать ещё 2 комментария
Теги:

5 ответов

1

Я предлагаю вам сгенерировать в строке данных

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

затем в jquery,

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

ИЛИ

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

теперь вы получите объект DOM.

затем используйте форматирование номера формата JQuery, как этот, чтобы отформатировать эти классы.

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

Это изменит html внутри DOM с форматом ure. Дайте мне знать, если эта помощь не проверит, написала ее

образец работы, http://jsfiddle.net/q46LC/

  • 0
    Может быть, лучше $ ("<div />", {value: data}), чем $ ("<div> </ div>"). Val (data)? Кроме того, в дальнейшем вы уже включаете объект jQuery в $ (MyDataToFormat)
  • 0
    Не работает приятель :(
Показать ещё 1 комментарий
0

для преобразования в формат валюты используйте ниже функции. См. Демонстрацию

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);
}
0

Не могли бы вы уточнить? Вы ищете специально для 1000.00 или ищете все теги, в которых есть некоторые числовые данные?

Возможно, вам удастся сбежать

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

Вы можете использовать плагин jquery.formatNumber:

Плагин jQuery для форматирования чисел, хорошо для валют. Возможность выбора центов и тысяч цифр. По умолчанию США 9999,00.

Код:

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

Демо: http://jsfiddle.net/E5rWF/

  • 0
    Проблема в том, что число находится в переменной, а не в DOM.
  • 0
    @LeandroGarcia, вы можете построить объект jQuery, не затрагивая DOM, см .: jsfiddle.net/E5rWF/1
0

использование

parseInt("Your number from html");

Затем используйте этот плагин для форматирования. или просто использовать native.

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню