單位映射
- thousand = 1,000
- lakh = 100,000 (10^5)
- crore = 10,000,000 (10^7)
解析代碼
- (NSNumber *)parseIndianNumber:(NSString *)str {
NSArray *parts = [str componentsSeparatedByString:@" "];
if (parts.count != 2) return @0;
NSNumber *value = @([parts[0] doubleValue]);
NSString *unit = [parts[1] lowercaseString];
NSDictionary *multipliers = @{
@"thousand": @1000,
@"lakh": @100000,
@"crore": @10000000
};
NSNumber *mult = multipliers[unit] ?: @1;
return @([value doubleValue] * [mult doubleValue]);
}
// 用法: [self parseIndianNumber:@"10 lakh"] -> 1000000