如果小数点分隔符是逗号,我的代码正常工作,但用户可以在点和逗号之间进行选择。
我遇到的问题是显示完全合理的形式(两位小数;由小数位分隔符组成;以及数千的分隔符)
$('#mytable').dataTable(
{
'footerCallback': function ( row, data, start, end, display )
{
var api = this.api();
// Remove the formatting to get integer data for summation
var intVal = function ( i ) {
return typeof i === 'string' ? i.replace(/[\$,]/g, '') * 1 : typeof i === 'number' ? i : 0;
};
var total = api.column(3).data()
.reduce( function (a, b)
{
return intVal(a) + intVal(b);
}, 0);
$('#total').text(parseFloat(total).toFixed(2).replace(/(\d)(?=(\d{3})+\,)/g, '$1,'));
}
});
您可以直接在JSFiddle。
中查看问题答案 0 :(得分:2)
以任何格式取数字(假设它总是带有2个十进制数),删除任何非数字符号,除以100,你就得到纯整数:
function test() {
var a = parseInt($('#a').val().replace(/[^0-9]/g, '')) / 100;
var b = parseInt($('#b').val().replace(/[^0-9]/g, '')) / 100;
$("#result").text(a + b);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="a" placeholder="1, 455.00" />+
<input type="text" id="b" placeholder="1 Thousand 1 hundred 50 and 50 cents" />=
<span id="result">???</span>
<hr/>
<button onClick="test()">Calculate</button>
答案 1 :(得分:1)