25

電卓で18/7を実行すると、2.5714285714285714285714285714286が表示されます。私の非常に限られた数学のスキルから2は商であり、.5714285714285714285714285714286は余りです。

これをJavaScriptでモデル化するにはどうすればよいですか?

ありがとう!

4

8 に答える 8

44
var floatingPointPart = (18/7) % 1;
var integerPart = Math.floor(18/7);
于 2012-09-23T03:05:37.703 に答える
19

Math.floorには、負の数の場合に結果が間違った方向に丸められるという問題があります。ビット単位の演算を使用して整数を取得する方がよいでしょう。

var quot = ~~(num/num1)

うまくいけば、これはあなたのために働きます!

于 2015-08-19T10:25:13.250 に答える
10
var rawQuotient = 18/7;
var remainder = rawQuotient % 1;
var quotient = rawQuotient - remainder;

ほとんどの数学では、特に全体が分数(18/7)、実数、または整数と分数の混合として表現できることを考えると、小数部分と全体を区別する必要はありません。 (2および4/7)。

プログラミングやエンジニアリング、またはその他の派生物に入るときは、分離の明確な用途があります。しかし、商は実際には整数と分数のすべてですが、それを表すことを選択します。

于 2012-09-21T22:46:26.880 に答える
4

簡単な数学を使用して、/%演算子のみを使用して答えを得ることができます。

'num1'を最初の値、'num2'を2番目の値と見なします。それで :

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

var FloatingPoint = (num1 % num2) / num2;
于 2014-05-28T07:16:13.360 に答える
3

2は商(または結果の整数部分)、4は余り、4/7は結果の浮動小数点部分であり、OPが要求しています。

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

integerPartとfloatingPointPartは要求された値です。

于 2013-02-27T23:15:12.487 に答える
1
var decimals = float - (float | 0);
于 2012-09-21T22:12:01.587 に答える
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)

/ *戻り値:(文字列)* /

2および4/18

于 2012-09-22T01:38:23.593 に答える
0

10進数2.5714285714285716では、(これも全体の部分)は2 であり、小数/小数部分は0.5714285714285716またはです0.5714285714285716 が、実際には、余りは4.000000000000002または4です。

let decimal = 18 / 7;
let quotient = ~~decimal;
let dec_remainder = decimal - quotient;
let dec_remainder0 = decimal % 1;
let remainder = dec_remainder * 7;
let remainder0 = 18 % 7;

document.body.innerHTML = "In the decimal number "+decimal+",<br/>
the quotient, which also is the whole part, is "+quotient+"<br/>
and the decimal/fractional part is "+dec_remainder+ " or " + dec_remainder0 + "<br/>
but actually, the remainder is "+remainder+" or "+remainder0 ;
<!DOCTYPE html>
<html>
<body>
</body>
</html>

商はいくつかの方法で決定できます。

于 2021-11-19T19:48:28.420 に答える