我一直试图找到一种方法,找到一种方式,以附加逗号字符串或浮点。我有一个浮点数,它可以是从10.50到50000000000.99之间的任何东西,并且希望能够格式化这个格式,在每3位数字中添加逗号(不包括浮点数)。我知道有一个NSNumberFormatter可以使用NSNumberFormatterDecimalStyle或NSNumberFormatterCurrencyStyle,但它们都不能处理字符串/浮动。我尝试将浮点数分成两个字符串,然后尝试进行长度为== 3的%的计算,但它开始变得非常混乱。我在Java中做了类似的事情,但在iOS中似乎要困难得多。
如果有人有任何建议或想法?如有任何信息或指导将不胜感激!提前谢谢。
编辑:我知道有很多帖子,但似乎没有一个能解决以零结尾的双/浮点数/字符串的问题。例如,如果我的双格式为16.00,格式化程序将将其格式化为16,1234.80的情况也是如此。格式化程序将将其格式化为1,234.8,而不是1,234.80,这正是我正在寻找的。
发布于 2013-11-11 15:30:29
在NSNumberFormatting 这里上查看这篇文章
它的要点是将浮动或双倍转换为NSNumber,然后使用NSNumber上的NSNumberFormatter获得所需格式的NSString。类似于:
double doubleNum = 1000.002;
// Change double to nsnumber:
NSNumber *num = [NSNumber numberWithDouble:doubleNum];
// Set up the formatter:
NSNumberFormatter *numFormatter = [[NSNumberFormatter alloc] init];
[numFormatter setUsesGroupingSeporator:YES];
[numFormatter setGroupingSeparator:@","];
[numFormatter setGroupingSize:3];
// Get the formatted string:
NSString *stringNum = [numFormatter stringFromNumber:num];
NSLog(@"%@",stringNum);
// prints out '1,000.002'
尝试一下,您可以应用许多不同的格式设置。
发布于 2013-11-11 15:29:59
Read 苹果公司的数字格式化指南,NSNumberFormatter
支持数千个分隔符和小数部分。例如,请参见所引用的文档中的清单1。
https://stackoverflow.com/questions/19917858
复制相似问题