例如,我有一个NSDecimal myDecimal。让我们说它代表类似“-1234567.89”
如何在没有任何美化/格式化的情况下获得该小数的干净字符串表示?没有本地化?浮点符号=。并且只休息0到9之间的数字,最后是 - 如果它是否定的?我需要严格技术方式的字符串。因此,像123456789876554432123456789.2231这样的数字应该看起来不像格式化的“123,456,789,876,554,432,123,456,789.2231”。你明白了吗? 我不想要任何格式化。我现在正在努力做到这一点,但我发现的一切都与格式化有关。那你们怎么做到的?
答案 0 :(得分:8)
我不相信存在“干净”字符串表示这样的事情,而与指定语言环境无关。正如许多欧洲人所指出的那样,123.45应写为123,45(使用,而不是。为小数位)。 NSDecimalString()
(可以在Foundation Functions Reference中找到)作为第二个参数采用区域设置规范。如果某些语言环境使用您希望的格式,请将该语言环境作为第二个参数传递(有关语言环境的详细信息,请参阅Internationalization Guide)。
或者,您可以使用NSNumberFormatter
,这样可以更好地控制字符串表示。
答案 1 :(得分:3)
对于简单(本地化)控制,请使用NSNumberFormatter。
答案 2 :(得分:1)
float number = 12.345;
NSString* numberString = [NSString stringWithFormat:@"%f", number];
无论用户当前的语言环境如何,都可以为您提供一致的格式。