使用Java / javascript的十进制值的数学余数商数程序

时间:2017-02-19 15:41:47

标签: javascript java math

您好我正在尝试使用Javascript / Java编写一个程序来获取商(带小数值)和余数,如下面的附件所示。我使用了常规余数运算符(%)但没有得到实际的余数,如下所示。有人可以帮我解决如何实现这个问题。 enter image description here

非零余数:

enter image description here

在Javascript中我写道:

indexRoute

我写作时在Java中的位置

<script>
 var a = 17.0;
 var b = 5;
 var x = a % b;
</script>

我得到了剩余的&#34; 2.0&#34;而不是&#34; 0&#34; (如图所示)。 JavaScript的情况也是如此。

1 个答案:

答案 0 :(得分:0)

如果你想要一些精度后的余数,那么使用它:

&#13;
&#13;
function remainder(dividend, divisor, precision = 4) {
  var result = (dividend / divisor).toString();
  var dot = result.indexOf('.');
  if(dot == -1) return 0; // it was a perfect division (9 / 3 for example)
  
  var remainder = "0." + result.substr(dot + precision);  // get the part after the precision
  return Math.round(remainder * divisor);                 // multiply it by the divisor and round the result
}

console.log(remainder(9.1, 3, 3));
&#13;
&#13;
&#13;

注意:对于不同的精度,结果可能会有所不同。