不是Java方面的佼佼者,我仍在学习,但是...
我正在尝试在Bootstrap 4表中计算值的总和,并将输出格式设置为货币。目前,我可以使用.toFixed(2)选项添加数字,但这不会提供所需的USD逗号格式($#,###。##)。我需要能够对要添加的列中的数据进行格式化,并将总结果格式化为美元货币。
我已经能够使用.toFixed(2)添加值(如我已经提到的那样),并尝试使用.toLocaleString,但这没有效果。
test_job:
stage: test
before_script:
- echo "FAIL" > .job_status
script:
- exit 1
- echo "SUCCESS" > .job_status
after_script:
- echo "$(cat .job_status)"
我需要将.row_data类的值求和并输出到.totalRow类,格式为美元货币。例如,对于我的代码,输出将为<table id="sum__table">
<tbody>
<tr>
<td>Some name</td>
<td class="row_data">5000.00</td>
<td>Some more info</td>
</tr>
<tr>
<td>Some Name 2</td>
<td class="row_data">6000.00</td>
<td>Some more info</td>
</tr>
</tbody>
</table>
<div class="totalRow"></div>
<script>
var sum = 0,
sumElements = document.querySelectorAll('#sum__table .row_data');
Array.prototype.forEach.call(sumElements, function (el) {
sum += parseFloat(el.innerText);
});
$('div.totalRow').each(function(el) {
$(this).html("$" + sum.toFixed(2));
});
</script>
,但我需要输出为$11000.00
。
我该如何实现?
编辑:我已经阅读了链接的“可能重复项”,但没有找到帮助,但这可能是我对Java语言的无知。 Regex解决方案似乎可行,但是我不确定如何在函数中使用它。
答案 0 :(得分:1)
使用:number.toLocaleString()
与可选的options
参数对象一起设置货币和货币显示。
var number = 123456.789;
console.log(number.toLocaleString('en-US', { style: 'currency', currency: 'USD' }));
因此,在您的示例中,我们可以收集所有需要格式化的表格单元并对其进行格式化:
// Get all the "row_data" elements into an array
let cells = Array.prototype.slice.call(document.querySelectorAll(".row_data"));
// Loop over the array
cells.forEach(function(cell){
// Convert cell data to a number, call .toLocaleString()
// on that number and put result back into the cell
cell.textContent = (+cell.textContent).toLocaleString('en-US', { style: 'currency', currency: 'USD' });
});
.row_data { text-align:right; font-weight:bold; color:maroon; }
<table id="sum__table">
<tbody>
<tr>
<td>Price 1: </td>
<td class="row_data">5000.006</td>
<td>Some more info</td>
</tr>
<tr>
<td>Price 2: </td>
<td class="row_data">62548000</td>
<td>Some more info</td>
</tr>
</tbody>
</table>