我如何将商作为int和余数作为JavaScript中的浮点

时间:2012-09-21 22:09:58

标签: javascript math

在我的计算器上,当我做18/7时,我得到2.5714285714285714285714285714286。 从我超级有限的数学技能2是商,而.5714285714285714285714285714286是余数。

如何在JavaScript中对此进行建模?

谢谢!

7 个答案:

答案 0 :(得分:29)

var floatingPointPart = (18/7) % 1;
var integerPart = Math.floor(18/7);

答案 1 :(得分:7)

Math.floor有一个问题,即在负数的情况下将结果舍入到错误的方向,最好使用按位运算来获得整数商。

var quot = ~~(num/num1)

希望这适合你!

答案 2 :(得分:6)

var rawQuotient = 18/7;
var remainder = rawQuotient % 1;
var quotient = rawQuotient - remainder;

在大多数数学中,没有真正需要区分小数部分和整个部分,特别是考虑到整个事物可以表示为分数(18/7),作为实数,或作为混合整数和分数(2和4/7)。

当你进入编程或工程或其他衍生工具时,你有明确的分离用途;但商是整个事物,整数和分数,但你选择代表那个。

答案 3 :(得分:3)

我们可以使用简单的数学来仅使用/& %运营商。

考虑' num1'作为第一价值& ' NUM2'作为第二个价值。然后:

var Quotient = (num1 - (num1 % num2)) / num2;

var FloatingPoint = (num1 % num2) / num2;

答案 4 :(得分:2)

2是商(或结果的整数部分),4是余数,4/7是结果的浮点部分,OP正在请求。

var result = (18/7);
var integerPart = Math.floor(result);
var floatingPointPart = result - integerPart;

integerPart和floatingPointPart是请求的值。

答案 5 :(得分:1)

var decimals = float - (float | 0);

答案 6 :(得分:0)

实际上,2是商,4/18是余数。

Math.divideby= function(d, dby){
    var q= Math.floor(d/dby), r= d-(q*dby);
    return r== 0? q:q+' and '+r+'/'+d;
}

<强> Math.divideby(18,7)

/ *返回值:(String)* /

2和4/18