У меня есть интерфейс, который дает мне такие номера 0000000012345,78
Итак, я понял, как сделать из них число. Но мне нужно рассчитать с этим числом, и мне действительно нужно десятичное число.
NSNumberFormatter *fmtn = [[NSNumberFormatter alloc] init];
[fmtn setFormatterBehavior:NSNumberFormatterBehavior10_4];
[fmtn setNumberStyle:NSNumberFormatterDecimalStyle];
[fmtn setDecimalSeparator:@","];
NSNumber *test = [fmtn numberFromString:@"0000000012345,78"];
Как я могу сделать свой NSNumber равным NSDecimalNumber?
РЕДАКТИРОВАТЬ: Это код, с которым я закончил:
NSDictionary *localeDict = [NSDictionary dictionaryWithObject:@"," forKey:@"NSDecimalSeparator"];
NSDecimalNumber *test = [[NSDecimalNumber alloc] initWithString:@"00000000012345,78" locale:localeDict];
Как составить словарь локали, нельзя было описать как «хорошо документированный», и мне потребовалось некоторое прибегание к поиску примера.
Этот тоже работал:
NSLocale *deLoc = [[NSLocale alloc] initWithLocaleIdentifier:@"de"];
NSDecimalNumber *testd = [NSDecimalNumber decimalNumberWithString:@"00000000012345,78" locale:deLoc];