При установке возвращаемого значения setInterval
к переменной можно использовать clearInterval
для остановки его.
var myTimer = setInterval(...);
clearInterval(myTimer);
(37.50 // 5) == 7; 7 * 5 == 35; 37,50 - 35 = 2,50.
(Примечание: //
- оператор Python для целочисленного деления. Я позаимствовал его здесь. Очевидно, вам не следует пытаться использовать //
] для разделения в коде Objective-C.)
Теоретически можно проделать некоторые трюки с методами NSDecimalNumber decimalNumberByDividingBy:
, decimalNumberByMultiplyingBy:
1140515] decimalValue . Разделите числа, возьмите структуру десятичного числа, вычислите остаток от структуры, затем создайте новое десятичное число с этим остатком и умножьте этот остаток на исходное число.
Однако более простой способ сделать это, вероятно, будет заключаться в том, чтобы определить максимальную точность, которую вы хотите (назовите ее N разрядов после десятичной точки), умножьте число на 10eN, затем просто возьмите целое значение и сделайте свое деление и мод на это. Однако вы рискуете потерять данные, особенно с очень большими числами, поэтому проверьте наибольшее число, которое вы хотите, и выясните, какой тип данных - если таковой имеется - подойдет вам. NSNumber поддерживает unsignedLongLongValue
.
unsignedLongLongValue
. поэтому проверьте наибольшее число, которое вы хотите, и выясните, какой тип данных - если он есть - подойдет вам. NSNumber поддерживает unsignedLongLongValue
.