2017-04-18 44 views
-5

我試着在小數點後面用小數點轉​​換兩個小數點style.please參考下面的例子。如何在金額後追加兩個小數點

--->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 

我嘗試下面的代碼,但它不會工作形式me.please幫我這個。

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
self.discountPriceLabel.text = [NSString stringWithFormat:@"Rs %.2f",_productDetails.discountprice]; 
0

要解決,你需要設置最低小數位數,以及最大爲你所做的小數號碼 - 你的情況設置這些既2。此外,您還需要設置使用千位分隔符的屬性,因爲這不是NSNumberFormatterDecimalStyle的默認值。下面,使用屬性風格的環境編寫的,應出示你的願望:

doubleValueWithMaxTwoDecimalPlaces.numberStyle = NSNumberFormatterDecimalStyle; 
doubleValueWithMaxTwoDecimalPlaces.maximumFractionDigits = 2; 
doubleValueWithMaxTwoDecimalPlaces.minimumFractionDigits = 2; 
doubleValueWithMaxTwoDecimalPlaces.hasThousandSeparators = YES; 

(千個分隔符使用將是一個適合當前的語言環境,如果你總是需要一個逗號,你應該設置爲好。 )

HTH

相關問題