我想做一个计算器iPhone应用程序,我的老师说我们必须使用NSDecimalNumber。我遇到了很多麻烦。我试图让它的部分是正确的,但是当像33这样的整数中加1.24这样的数字时,我遇到了麻烦。当我希望它是34.24时,结果是34。有谁知道如何使它出现这种方式?这里是代码的相关部分NSDecimalNumber除了丢失小数位
-(void)outputNumber: (NSDecimalNumber*) number
{
//used to format number of decimal places
NSNumberFormatter* formatter = [[[NSNumberFormatter alloc] init] autorelease];
[formatter setMaximumFractionDigits:self.afterDecimal];
//output the number to calculator
NSString* formatNumber = [formatter stringFromNumber:[NSNumber numberWithDouble:[number doubleValue]]];
self.inputLabel.text = [NSString stringWithFormat: @"%@", formatNumber];
if (self.isWaiting == TRUE) {
self.numberB = number;
//change button title default color
[self.myButton setTitleColor:[UIColor colorWithRed:.196 green: .3098 blue: .52 alpha: 1] forState: 0];
}
else {
self.numberA = number;
}
}
if (self.binaryTag == 6) {
self.numberC = [self.numberB decimalNumberByAdding: self.numberA];
}
你确定self.numberC是NSDecimal? – 2013-04-10 03:05:44
它是NSDecimalNumber ...我现在看到问题了...它是setMaximumFractionDigits,是否有更好的方法来获取小数点后的所有数字? – user2264210 2013-04-10 03:56:30