Cocoa touch 如何在iOS上格式化和打印浮点数?
我想在Cocoa Touch上创建一个具有正确本地化的浮点数的格式化输出。输出应等同于Cocoa touch 如何在iOS上格式化和打印浮点数?,cocoa-touch,nsnumberformatter,Cocoa Touch,Nsnumberformatter,我想在Cocoa Touch上创建一个具有正确本地化的浮点数的格式化输出。输出应等同于printf(“%.f”,n),其中为总位数,为最大小数位数 使用=6和=2设置NSNumberFormatter:(平台为iOS 5.1 SDK、Xcode 4.3.3和iPhone模拟器5.1) 预期输出(德语地区):测试:2,64 观察到的输出(德语地区):测试:264324 其他观察结果: 我尝试对分数位数使用不同的值,例如[nf setMaximumFractionDigits:4]或[nf setM
printf(“%.f”,n)
,其中
为总位数,
为最大小数位数
使用=6
和=2
设置NSNumberFormatter
:(平台为iOS 5.1 SDK、Xcode 4.3.3和iPhone模拟器5.1)
预期输出(德语地区):测试:2,64
观察到的输出(德语地区):测试:264324
其他观察结果:
我尝试对分数位数使用不同的值,例如[nf setMaximumFractionDigits:4]
或[nf setMaximumFractionDigits:0]
。结果不变,似乎忽略了分数位数。将区域设置更改为US只会将,
更改为
,而不会更改小数位数
问题:如何将
printf
-格式字符串正确翻译成NSNumberFormatter
?Ryan并不是完全错了。使用localizedStringWithFormat
方法:
使用objective-c
NSNumber *yourNumber = [nf numberFromString:yourString];
//to create the formatted NSNumber object
NSString *yourString = [NSString localizedStringWithFormat:@"%.2F", yourNumber];
//to create the localized output
使用SWIFT 3
let yourString: String
yourString = String.localizedStringWithFormat("%.2F", yourDoubleNumber) //no need for NSNumber Object
虽然有点晚了,但还是有帮助的。祝你好运 是的,这正是它需要做的!谢谢,即使是迟交的答复也很感激!不客气!我在本地化方面也遇到了一些困难。祝你好运魔术我就在那里,写着数字分类。。。当我所需要的一切都已经存在的时候,整洁而简单。正是这些小东西让我们如此喜欢苹果。
let yourString: String
yourString = String.localizedStringWithFormat("%.2F", yourDoubleNumber) //no need for NSNumber Object