我不认为这里存在一个全面,基本的答案,谷歌搜索没有帮助.
任务:NSDecimalNumber
将此除以a 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];
当然,这可以通过更简单的方式完成吗?
你有没有理由使用它NSDecimalNumber
?这样可以更简单地完成:
// Inputs NSString *amount_text = @"15.3"; int n = 10; float amount = [amount_text floatValue]; float result = amount / n;
如果你真的想这样做NSDecimalNumber
:
// Inputs NSString *amount_text = @"15.3"; int n = 10; NSDecimalNumber *total = [NSDecimalNumber decimalNumberWithString:amount_text]; NSDecimalNumber *divisor = [NSDecimalNumber decimalNumberWithMantissa:n exponent:0 isNegative:NO]; NSDecimalNumber *contribution = [total decimalNumberByDividingBy:divisor];