這是完全正常的。如果你的十進制字符串不包含分數,它將不會打印它們。如果你想打印出來,你可以使用一個NSNumberFormatter
或將其轉換爲浮動與%.2f
打印可以這樣做:
NSString *text = @"200.00";
NSDecimalNumber *number = [NSDecimalNumber decimalNumberWithString:text];
NSLog(@"%@", number); //this will print "200"
//solution #1
NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
numberFormatter.numberStyle = NSNumberFormatterDecimalStyle;
numberFormatter.minimumFractionDigits = 2;
NSLog(@"%@", [numberFormatter stringFromNumber:number]); //this will print "200.00"
//solution #2
CGFloat number = [text floatValue];
NSLog(@"%.2f", number); //this will print "200.00"
試用@「200.45」。 – drekka