Я не думаю, что всеобъемлющий базовый ответ на этот вопрос существует здесь, а поисковая система не помогла.Как разделить NSDecimalNumber на целое число?
Задача: Дано NSDecimalNumber
разделить это с помощью int
и вернуть другой NSDecimalNumber
. Уточнение: amount_text
ниже должно быть преобразовано в NSDecimalNumber, потому что это валюта. Результатом должен быть NSDecimalNumber, но мне все равно, какой формат делитель.
То, что я до сих пор:
// Inputs
NSString *amount_text = @"15.3";
int n = 10;
NSDecimalNumber *total = [NSDecimalNumber decimalNumberWithString:amount_text];
// Take int, convert to string. Take string, convert to NSDecimalNumber.
NSString *int_string = [NSString stringWithFormat:@"%d", n];
NSDecimalNumber *divisor = [NSDecimalNumber decimalNumberWithString:int_string];
NSDecimalNumber *contribution = [total decimalNumberByDividingBy:divisor];
Конечно, это может быть сделано более простым способом?
Какой из них лучше: ваше решение или второе решение DrummerB? Скажем, мой десятичный номер/делитель находится между 1 и 10. – Unapiedra
Учитывая обсуждение в связанном вопросе, вы, вероятно, должны пойти с вторым решением DrummerB '[NSDecimalNumber decimalNumberWithMantissa: n exponent: 0 isNegative: NO];' – FelixLam
Вы получаете больше точности с DrummerB's второе решение, но с вами тоже должно быть хорошо. Поэтому вам решать, нужна ли вам больше точности или нет. – mrt