我有一些代码来格式化文件大小字符串:
NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
[numberFormatter setPositiveFormat: @"#,##0.## bytes"];
@"#,##0.## bytes"
是否与我在stringWithFormat中使用的格式字符串相同?哈希/磅符号在这里意味着什么?
答案 0 :(得分:8)
#通常会被一个数字替换(如果存在),如果不存在,则不会被替换。 如果存在一个数字,则0将被替换;如果不存在,则将其替换为零。
因此,对于以下格式化'## 00.00 ##',您将获得以下输出:
1 => 01.00
12.1 => 12.10
1234.5 => 1234.50
1.2345 => 01.2345
答案 1 :(得分:4)
它们被称为占位符。
占位符
你使用英镑符号字符(#) 表示数字字符 将由用户输入。对于 例如,对于积极的模式 “$#,## 0.00”,如果是字符76329 进入了一个小区 模式已经应用,他们会 显示为$ 76,329.00。严格 但是,你说不需要 使用占位符。格式字符串 “,0.00”,“#,#0.00”和“#,## 0.00”是 在功能上等同。其他 单词,包括分隔符 在模式字符串信号 NSNumberFormatter使用 分隔符,不管你是否 使用(或放置)占位符。 占位符角色的主管 美德在于它的制作能力 模式字符串更易读, 这对于特别有用 在用户中显示模式 接口
答案 2 :(得分:2)
'#'表示一个可选的数字位置,如果该位置的0位数不会出现,而0表示该数字将始终显示。
我们以345.5
为例:
#,##0.## = 345.5
0,000.00 = 0,345.50
答案 3 :(得分:1)
'#
'在大多数语言中用作可选数字,而不是'0
',这是一个必需数字(用于获取前导/尾随零)。