У меня есть data
переменных, которые содержат огромный HTML-код.
Где-то в нем есть теги <td></td>
которые содержат сумму (например, <td>1000.00</td>
). Я хочу отформатировать его в английской нотации, однако я не уверен, как это сделать, поскольку это огромная строка.
Какой был бы лучший подход здесь?
Я предлагаю вам сгенерировать в строке данных
<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/
для преобразования в формат валюты используйте ниже функции. См. Демонстрацию
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);
}
Не могли бы вы уточнить? Вы ищете специально для 1000.00 или ищете все теги, в которых есть некоторые числовые данные?
Возможно, вам удастся сбежать
$('td').each(function() { //check value here
});
Вы можете использовать плагин jquery.formatNumber
:
Плагин jQuery для форматирования чисел, хорошо для валют. Возможность выбора центов и тысяч цифр. По умолчанию США 9999,00.
Код:
//produces 29,323,894.23 (e.g. US standard)
$('td').formatNumber({
cents: '.',
decimal: ','
});
использование
parseInt("Your number from html");
Затем используйте этот плагин для форматирования. или просто использовать native.