objective-c – 使用NSString stringWithFormat的动态字符串格式
发布时间:2020-12-16 05:55:28 所属栏目:百科 来源:网络整理
导读:我一直在尝试制作一个动态的字符串格式,以便通过用户选项的精度或填充可以有些用户定义. 一个例子包括,以24小时时间格式填充前导零.在正常时间格式中,小时可以由一位数字表示,也可以用零填充数字.这以字符串格式表示: ...stringWithFormat:@"Hour: %02i",ho
我一直在尝试制作一个动态的字符串格式,以便通过用户选项的精度或填充可以有些用户定义.
一个例子包括,以24小时时间格式填充前导零.在正常时间格式中,小时可以由一位数字表示,也可以用零填充数字.这以字符串格式表示: ...stringWithFormat:@"Hour: %02i",hour // leading zero padded 和 ...stringWithFormat:@"Hour: %i",hour // not leading zero padded 我想要实现的是一个包含@“”或@“02”的变量,并且该变量以%和i之间的格式字符串呈现. 我已经做了几个实验,只是似乎不能这样做,并开始认为这是不可能的stringWithFormat. 我试过了: … stringWithFormat:@“小时:%% @ i”,填充,小时 … stringWithFormat:@“小时:%@%i”,小时 和别的. 有任何想法吗? 解决方法
有一个更好的方法来做到这一点.
... stringWithFormat:@"Hour: %0*i",length,hour]; // note the asterisk 其中length是你想要的数字数.使用1得不到前导零,使用2根据需要使用前导零来获得长度为2的长度. FYI – 解决您最初尝试的两个步骤: NSString *dynFmt = [NSString stringWithFormat:@"Hour: %%%@i",padding]; NSString *res = [NSString stringWithFormat:dynFmt,hour]; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |