Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/431.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 不允许在jquery中不等分的数字_Javascript_Jquery_Math - Fatal编程技术网

Javascript 不允许在jquery中不等分的数字

Javascript 不允许在jquery中不等分的数字,javascript,jquery,math,Javascript,Jquery,Math,有记录表,其中列为12个月+汇总。 我有一个简单的jQuery操作,每个月汇总行的onChange等分数字 因为它是会计资料,所以我将数字舍入到.00并存储在DB中。 我不允许输入不能除以12的数字 不幸的是,我的算法有一个缺陷:/ (例如输入11,更改为11.08!=12*0.93) 如何更好地实施它 我的意思是,每一个允许的数字都被最大值2分开 昏迷后的数字 因此,11将更改为11,04,因为0.92*12=11.04 1324=>1324,08=110,34*12 我不能说:坏数字,因为

有记录表,其中列为12个月+汇总。 我有一个简单的jQuery操作,每个月汇总行的
onChange
等分数字

因为它是会计资料,所以我将数字舍入到.00并存储在DB中。 我不允许输入不能除以12的数字

不幸的是,我的算法有一个缺陷:/

(例如输入11,更改为11.08!=12*0.93)

如何更好地实施它

  • 我的意思是,每一个允许的数字都被最大值2分开 昏迷后的数字
  • 因此,11将更改为11,04,因为0.92*12=11.04
  • 1324=>1324,08=110,34*12
  • 我不能说:坏数字,因为我想提供给用户最接近的号码,他最初想输入

  • 你应该减去余数。如果希望数字最接近原始数字,则减去余数,如果余数大于6,则加12:

    var remainder = (summaryValue * 100) % monthCount;
    summaryValue = (summaryValue * 100 - remainder + (remainder > 6? 12 : 0)) / 100; 
    

    你能不能添加一个if语句,比如
    if(数字%12!=0){//不是一个好数字}
    我想一切都可以除以12。你的意思是它不应该是浮点数还是什么?当输入11时,你希望发生什么?
    var remainder = (summaryValue * 100) % monthCount;
    summaryValue = (summaryValue * 100 - remainder + (remainder > 6? 12 : 0)) / 100;