问题如下:
首先,我有2个字符串.哪些是货币数量.
问题是,我想用这两个创建1个字符串.
例如:
strF = [Nsstring stringWithFormat:@"First: %@ Second: %@",value1,value2];
我想知道是否有可能在第一个和第二个之间做出正确的填充.假设第一个字符串长度不一样…
我想这样做:
First: 10,000.00 Second: 788.00First: 10.00 Second: 788.00First: 0.00 Second: 788.00First: 100.00 Second: 788.00First: 5.00 Second: 788.00解决方法 修订这是一个更好的方法,使用NSNumberFormatter:
首先创建和配置格式化程序,如下所示:
NSNumberFormatter * formatter = [[ NSNumberFormatter alloc ] init ] ;[ formatter setFormatWIDth:20 ] ;[ formatter setpaddingCharacter:@" " ] ;[ formatter setFormatterBehavior:NSNumberFormatterBehavior10_4 ] ;[ formatter setNumberStyle:NSNumberFormatterDecimalStyle ] ;[ formatter setMinimumFractionDigits:2 ] ;[ formatter setMaximumFractionDigits:2 ] ;
创建格式化程序后,您的代码将变为:
strF = [ Nsstring stringWithFormat:@"First: %@ Second: %@",[ formatter stringFromNumber:value1 ],[ formatter stringFromNumber:value2 ] ] ;
您将获得(千位)分隔符(在当前区域设置中)等.
我会在类方法中创建格式化程序(类似于numberFormatter或dispatch_once块)你甚至可以通过类别将它添加到NSNumberFormatter并具有类似[NSNumberFormatter mySharedFormatter]的东西
您可以使用字段宽度说明符.它这样做:
Nsstring * value1String = ... from NSNumberFormatter to get commas inserted ;[ Nsstring stringWithFormat:@"First: %20s Second: %0.2f",[ value1String UTF8String ],value2 ]
其中“20”是列的宽度. (替换所需的宽度).还有其他选择,比如右对齐等等.请联系man printf获取更多信息.
如果你想添加逗号,NSNumberFormatter应该能够做到这一点.
(实际上,你可能也希望你的小数也排成一行,对吧?你可以尝试%20.2f)
@H_419_2@ 总结以上是内存溢出为你收集整理的ios – NSString stringwithformat:填充2个未知长度的字符串全部内容,希望文章能够帮你解决ios – NSString stringwithformat:填充2个未知长度的字符串所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)