我想做一個計算器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