我有一個像「1.23,45」,(德國/法國風格或其他風格)的字符串。 如何刪除格式爲普通字符串或nsnumber? 我只知道從數字轉換爲字符串:( 感謝如何將格式化的nsstring轉換爲NSNumber或者只是刪除格式?
2
A
回答
0
NSNumber * myNumber = [NSNumber numberWithInt:[@"1.23,45" intValue]];
或
NSNumber * myNumber = [NSNumber numberWithFloat:[@"1.23,45" floatValue]];
注意:。更好地修剪逗號(,)從串符號
您可以使用以下方法
+ (NSNumber *)numberWithChar:(char)value;
+ (NSNumber *)numberWithUnsignedChar:(unsigned char)value;
+ (NSNumber *)numberWithShort:(short)value;
+ (NSNumber *)numberWithUnsignedShort:(unsigned short)value;
+ (NSNumber *)numberWithInt:(int)value;
+ (NSNumber *)numberWithUnsignedInt:(unsigned int)value;
+ (NSNumber *)numberWithLong:(long)value;
+ (NSNumber *)numberWithUnsignedLong:(unsigned long)value;
+ (NSNumber *)numberWithLongLong:(long long)value;
+ (NSNumber *)numberWithUnsignedLongLong:(unsigned long long)value;
+ (NSNumber *)numberWithFloat:(float)value;
+ (NSNumber *)numberWithDouble:(double)value;
+ (NSNumber *)numberWithBool:(BOOL)value;
+ (NSNumber *)numberWithInteger:(NSInteger)value NS_AVAILABLE(10_5, 2_0);
+ (NSNumber *)numberWithUnsignedInteger:(NSUInteger)value NS_AVAILABLE(10_5, 2_0);
2
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setNumberStyle:NSNumberFormatterCurrencyStyle];
[formatter setCurrencySymbol:@""];
NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US"];
[formatter setLocale:locale];
NSString *formattedOutput = [formatter stringFromNumber:[NSNumber numberWithFloat:[aPrice floatValue]]];
[locale release];
[formatter release];
NSLog(@"%@", formattedOutput];
進一步轉化formattedString與數
NSNumber myNumber = [formattedOutput intValue]; //replace intValue by floatValue to get decimal output
0
聽起來你需要做兩件事情:
1)破串入子串的基於逗號分隔的陣列
NSString *startString = @"1.23,45";
NSArray *subStringArray= [colorStr componentsSeparatedByString:@","];
2)將每個子串轉換爲數字
NSNumberFormatter * formatter = [[NSNumberFormatter alloc] init];
[formatter setNumberStyle:NSNumberFormatterDecimalStyle];
NSString *subString = [subStringArray objectAtIndex:0];
NSNumber *thisNumber = [formatter numberFromString:subString];
NSLog (@"thisNumber: %@", thisNumber);
1
您可以轉換NSString
爲NSNumber
使用NSNumberFormatter
,但你必須告訴它哪個區域,你正在使用你的字符串(德語,在這種情況下):
// Create a number formatter that can convert from/to German currency:
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
formatter.numberStyle = NSNumberFormatterCurrencyStyle;
formatter.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"de_DE"];
[formatter setLenient:YES];
// Use the number formatter to create a NSNumber:
NSNumber *number = [formatter numberFromString:@"1.23,45"];
// Return the number formatter to the current user's locale:
formatter.locale = [NSLocale currentLocale];
// Finally, create a string from the NSNumber formatted in the user's locale:
NSString *formattedString = [formatter stringFromNumber:number];
相關問題
- 1. NSString格式爲NSNumber
- 2. 從NSNumber返回格式化的NSString?
- 3. 如何將NSString轉換爲日期格式化的字符串
- 4. iPhone:如何將CSV格式轉換爲NSData或NSString?
- 5. 將NSData對象轉換爲NSString格式
- 6. 將NSString轉換爲NSDate格式?
- 7. 用新格式將NSString轉換爲NSDate
- 8. 將NSString轉換爲貨幣格式
- 9. 如何將NSDate格式化爲NSString?
- 10. 轉換或刪除CLOB的格式?
- 11. 將長NSString轉換爲NSNumber
- 12. 如何將osgjs格式轉換爲obj或類似的格式?
- 13. 如何將NSNumber轉換爲NSString
- 14. 將NSNumber格式化爲__ k/M/B
- 15. NSNumber到NSString轉換的自定義格式
- 16. GZIP +空格刪除正則表達式,或者只是GZIP
- 17. 將NSString轉換爲具有日期格式的NSString的塊
- 18. 如何在NSString中轉換datetime格式?
- 19. 如何將NSString轉換爲ios5中的JSON格式?
- 20. 將NSString轉換爲NSDate並返回到不同的格式NSString
- 21. 如何在iOS中將動態NSString轉換爲JSON格式?
- 22. 如何使用自定義格式將NSDecimal轉換爲NSString
- 23. 將格式化日期轉換爲NSDate
- 24. 將NVARCHAR轉換爲MONEY或FLOAT格式
- 25. 將osg格式轉換爲3ds或.obj?
- 26. 的NSDate格式化和結果轉換爲NSString的
- 27. 如何將此格式轉換爲perl中的JSON格式?
- 28. 如何將pdf格式的marathi數據轉換爲excel格式
- 29. 如何將QImage格式轉換爲OpenGL支持的格式
- 30. 如何將.npz格式轉換爲.py格式的.csv文件?
嗨Ramshad,我嘗試過,但它不起作用,它返回零。我認爲它不知道逗號 – iphoner
我編輯了我的答案,請看看它 –