Ответ 1
var floatingPointPart = (18/7) % 1;
var integerPart = Math.floor(18/7);
На моем калькуляторе, когда я делаю 18/7, я получаю 2.5714285714285714285714285714286. Из моих супер ограниченных навыков математики 2 является частным, а остаток .5714285714285714285714285714286 - это остаток.
Как я могу моделировать это в JavaScript?
Спасибо!
var floatingPointPart = (18/7) % 1;
var integerPart = Math.floor(18/7);
var rawQuotient = 18/7;
var remainder = rawQuotient % 1;
var quotient = rawQuotient - remainder;
В большинстве случаев математики нет никакой необходимости различать дробную часть и всю ее часть, особенно учитывая, что все это может быть выражено как дробь (18/7), как действительное число, или как смесь целые числа и фракции (2 и 4/7).
Когда вы переходите к программированию или разработке или к какой-либо другой производной, у вас есть определенное использование для разделения; но фактор действительно является целым, целым и фракционным, однако вы решили представить это.
У Math.floor есть проблема округления результата в неправильном направлении в случае отрицательного числа, было бы лучше использовать побитовое управление для получения межсетевых коэффициентов.
var quot = ~~(num/num1)
Надеюсь, это сработает для вас!
2 - частное (или целочисленная часть результата), 4 - остаток, а 4/7 - часть с плавающей запятой результата, которую запрашивает OP.
var result = (18/7);
var integerPart = Math.floor(result);
var floatingPointPart = result - integerPart;
integerPart и floatingPointPart - это запрошенные значения.
Мы можем использовать простую математику, чтобы получить ответ, используя только операторы /
и %
.
Рассмотрим "num1" как первое значение, а "num2" - второе. Тогда:
var Quotient = (num1 - (num1 % num2)) / num2;
var FloatingPoint = (num1 % num2) / num2;
var decimals = float - (float | 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