我尝试使用以下值将小数点转换为两位小数。请参阅下面的示例。
--->1 expected 1.00
--->1. expected 1.00
---->1.0 expected 1.00
--->1.01 expected 1.01
--->1235.06 expected 1,235.06
--->12356.36 expected 12,356.36
---->12356.0 expected 12,356.00
--->12356. expected 12356.00
我尝试下面的代码,但它不适用于我。请帮助我。
NSNumberFormatter *doubleValueWithMaxTwoDecimalPlaces = [[NSNumberFormatter alloc] init];
[doubleValueWithMaxTwoDecimalPlaces setNumberStyle:NSNumberFormatterDecimalStyle];
[doubleValueWithMaxTwoDecimalPlaces setPaddingPosition:NSNumberFormatterPadAfterSuffix];
[doubleValueWithMaxTwoDecimalPlaces setFormatWidth:2];
[doubleValueWithMaxTwoDecimalPlaces setMaximumFractionDigits:2];
doubleValueWithMaxTwoDecimalPlaces.positiveFormat = @"0.##";
NSNumber *myValue = [NSNumber numberWithDouble:1.01];
NSNumber *myValue1 = [NSNumber numberWithDouble:1.0];
NSNumber *myValue2 = [NSNumber numberWithDouble:1.];
NSNumber *myValue3 = [NSNumber numberWithDouble:1];
NSLog(@" [doubleValueWithMaxTwoDecimalPlaces stringFromNumber:myValue] :%@", [doubleValueWithMaxTwoDecimalPlaces stringFromNumber:myValue]);
NSLog(@" [doubleValueWithMaxTwoDecimalPlaces stringFromNumber:myValue] :%@", [doubleValueWithMaxTwoDecimalPlaces stringFromNumber:myValue1]);
NSLog(@" [doubleValueWithMaxTwoDecimalPlaces stringFromNumber:myValue] :%@", [doubleValueWithMaxTwoDecimalPlaces stringFromNumber:myValue2]);
NSLog(@" [doubleValueWithMaxTwoDecimalPlaces stringFromNumber:myValue] :%@", [doubleValueWithMaxTwoDecimalPlaces stringFromNumber:myValue3]);
答案 0 :(得分:0)
self.discountPriceLabel.text = [NSString stringWithFormat:@"Rs %.2f",_productDetails.discountprice];
答案 1 :(得分:0)
要确定您需要设置最小小数位以及最大值所需的小数位数 - 请将这两位数设置为2
。此外,您需要设置属性以使用千位分隔符,因为这不是NSNumberFormatterDecimalStyle
的默认值。使用属性样式设置编写的以下内容应该产生您想要的内容:
doubleValueWithMaxTwoDecimalPlaces.numberStyle = NSNumberFormatterDecimalStyle;
doubleValueWithMaxTwoDecimalPlaces.maximumFractionDigits = 2;
doubleValueWithMaxTwoDecimalPlaces.minimumFractionDigits = 2;
doubleValueWithMaxTwoDecimalPlaces.hasThousandSeparators = YES;
(使用的千位分隔符将是适合当前语言环境的分隔符,如果您总是需要逗号,则也应该设置它。)
HTH