有记录表,其中列是 12 个月 + 摘要。我有简单的 jQuery 操作,onChange
每个月的摘要行除数相等。
因为它是会计资料,所以我将数字四舍五入到 .00 并将其存储在数据库中。我想禁止输入不能被 12 整除的数字。
不幸的是我的算法有缺陷:/
(例如输入 11,更改为 11.08 != 12 * 0.93)
function round(num) {
return Math.ceil(num * 100) / 100;
}
$("#summary").change(function() {
var summaryValue = $(this).val();
var monthCount = $('.month').length;
var remainder = (summaryValue * 100) % monthCount;
summaryValue = (summaryValue * 100 + remainder) / 100;
$(this).val(summaryValue);
var avarage = round(summaryValue / monthCount);
$('.month').each( function( key, value ) {
$(this).val(avarage);
});
});
http://jsfiddle.net/igos/z3EEQ/
任何想法如何更好地实施它?
- 我的意思是可以被 12 整除,每个允许的数字在昏迷后最多被 2 个数字分开。
- 所以 11 会变成 11,04 因为 0.92 * 12 = 11.04;
- 1324 => 1324,08 = 110,34*12
- 我不能说:坏号码,因为我想向用户提供他最初想输入的最接近的号码。