我试图在JS中舍入一个值,但我没有得到舍入值,这就是我所拥有的:
$(document).on("click", ".open-AddBookDialog", function () {
var agentPercentage = parseFloat($('#<%=ddlSplitPerc.ClientID%>').val()).toFixed(2);
var percMod = 1.0 - agentPercentage;
percMod = Math.ceil(percMod * 100) / 100;
var dropdownAgentPerc = $('#<%=ddlPercSplitAgent.ClientID %>');
dropdownAgentPerc.val(percMod);
dropdownAgentPerc.change();
$('#AddNewSplitAgentLife').modal('show');
});
例如,agentPerentage是0.7,当我减去1 - 0.7时,我得到这个值:
0.30000000000000004
你们认为我应该改变什么?我也尝试了Math.cell示例,但结果是0.31。 请指教。 谢谢,Laziale
答案 0 :(得分:3)
解决方案是另一个问题:Dealing with float precision in Javascript
(Math.floor(y/x) * x).toFixed(2);
答案 1 :(得分:0)
如果从传递给Math.ceil
的值中减去.5,它应该可以工作percMod = Math.ceil((percMod * 100) -.5 )/ 100;
Math.ceil将向上舍入任何小于.000
的小数因此,为了模拟仅在.500以上舍入小数的典型舍入行为,你应该减去.5