Как получить частное выражение как int и остаток в качестве плавающей запятой в JavaScript

На моем калькуляторе, когда я делаю 18/7, я получаю 2.5714285714285714285714285714286. Из моих супер ограниченных навыков математики 2 является частным, а остаток .5714285714285714285714285714286 - это остаток.

Как я могу моделировать это в JavaScript?

Спасибо!

Ответ 1

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

Ответ 2

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

В большинстве случаев математики нет никакой необходимости различать дробную часть и всю ее часть, особенно учитывая, что все это может быть выражено как дробь (18/7), как действительное число, или как смесь целые числа и фракции (2 и 4/7).

Когда вы переходите к программированию или разработке или к какой-либо другой производной, у вас есть определенное использование для разделения; но фактор действительно является целым, целым и фракционным, однако вы решили представить это.

Ответ 3

У Math.floor есть проблема округления результата в неправильном направлении в случае отрицательного числа, было бы лучше использовать побитовое управление для получения межсетевых коэффициентов.

var quot = ~~(num/num1)

Надеюсь, это сработает для вас!

Ответ 4

2 - частное (или целочисленная часть результата), 4 - остаток, а 4/7 - часть с плавающей запятой результата, которую запрашивает OP.

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

integerPart и floatingPointPart - это запрошенные значения.

Ответ 5

Мы можем использовать простую математику, чтобы получить ответ, используя только операторы / и %.

Рассмотрим "num1" как первое значение, а "num2" - второе. Тогда:

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

var FloatingPoint = (num1 % num2) / num2;

Ответ 6

var decimals = float - (float | 0);

Ответ 7

Собственно, 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