我使用以下代碼將文本字段中的轉換後的輸入數字格式化爲顯示USD貨幣。所以它顯示$符號和每3位數字(從右側)a被添加。我在文本字段中設置格式化文本。iOS從NSNumberFormatter獲取值字符串
- (void)textFieldDidEndEditing:(UITextField *)textField
{
NSString *pureNumbers = [[textField.text componentsSeparatedByCharactersInSet:[[NSCharacterSet decimalDigitCharacterSet] invertedSet]] componentsJoinedByString:@""];
//Convert entered text to NSNumber
NSNumberFormatter * f = [[NSNumberFormatter alloc] init];
[f setNumberStyle:NSNumberFormatterDecimalStyle];
NSNumber * myNumber = [f numberFromString:pureNumbers];
NSString *currencyString = [currencyFormatter internationalCurrencySymbol];
NSString *format = [currencyFormatter positiveFormat];
format = [format stringByReplacingOccurrencesOfString:@"*" withString:currencyString];
// ¤ is a placeholder for the currency symbol
[currencyFormatter setPositiveFormat:format];
NSString *currencyString1 = [currencyFormatter stringFromNumber:myNumber];
NSLog(@"Text is %@",currencyString1);
textField.text = currencyString1;
}
現在我怎樣才能得到後面輸入的數字刪除數字格式化程序?例如: 我在文本字段中輸入了5000。它在文本字段中被格式化爲5000美元。 我想從文本字段獲取「5000」,這是用戶輸入的原始值。
提供示例,「實際輸入的數字」含糊不清。 – zaph 2012-02-11 13:46:26
@CocoaFu,我提供了一個我期待的例子。 – Satyam 2012-02-11 13:50:12
這不正是你的代碼已經做了什麼,當它得到'myNumber'? – Tommy 2012-02-11 14:01:42