これがあなたの目的だと思います:
$("#mytable").find("td").each(function () {
var content = this.innerHTML;
content = content.replace(/\$(\d*(?:\.\d*)?)/g, function (m1, m2) {
return "$" + parseFloat(m2).toFixed(2);
});
this.innerHTML = content;
});
フィドル
これにより、見つかったドル記号がそれに続く数字に置き換えられ、その数字が小数点以下 2 桁に固定されて置き換えられます。
あなたのコメントに基づいて、£ と $ を許可するには、上記の代わりにこれを試してください。
content = content.replace(/([£$])(\d*(?:\.\d*)?)/g, function (m0, m1, m2) {
return m1 +""+ parseFloat(m2).toFixed(2);
});
フィドル
[£$]
(いずれかのシンボルの 1 つ) をキャッチし、それを関数に渡す最初のキャプチャ グループに入れm1
ます。
2番目のコメントに基づいて、通貨が含まれているcurrency
クラスにクラスを追加し、td
その中にフォーマットされた数値のみが必要で、通貨記号に触れたくない場合は、これを試してください:
$("td.currency").each(function () {
var content = this.innerHTML;
content = content.replace(/(\d+(?:\.\d*)?)/g, function (m1, m2) {
return parseFloat(m2).toFixed(2);
});
this.innerHTML = content;
});
フィドル
セル内の数値のみ.currency
が更新されていることに注意してください。