【发布时间】:2012-02-01 09:44:03
【问题描述】:
我尝试通过以下方式输出带有正确小数分隔符的十进制数的描述:
NSString* strValue = @"9.94300";
NSDecimalNumber* decimalNumber = [NSDecimalNumber decimalNumberWithString: strValue];
NSLocale* locale = [NSLocale currentLocale];
NSLog(@"%@", [locale localeIdentifier]);
NSLog(@"%@", [decimalNumber descriptionWithLocale: locale] );
输出是:
de_DE
9.943
小数点分隔符应该是 ',' 而不是 '.'对于这个语言环境。错误在哪里?如何根据本地输出正确的小数分隔符?
【问题讨论】:
-
非常令人费解。我假设您正在运行 iOS 5(我可以在哪里重现)?在 4.3 模拟器中,代码运行良好并按预期输出 9,943。这甚至可能是一个错误......
-
补充:NSNumber 做正确的事,而 NSDecimalNumber 在 iOS 5 上没有。现在提交错误报告 ;-) [也许 NSNumber 是你的替代品?]
标签: ios separator nsdecimalnumber nslocale