我想知道如何将浮点数设置为零,然后是小数,然后是数字:
0.45
...像这样去掉小数点前面的零:
.45
在NSString中使用[NSString stringWithFormat:]
方法,并使用目标C。
答案 0 :(得分:0)
使用0
和stringWithFormat:
格式化浮点值时,不能直接消除前导%f
。您必须将自己从结果中删除:
NSString *result = [NSString stringWithFormat:@"%.2f", 0.45];
if ([result hasPrefix:@"0."]) {
result = [result substringFromIndex:1];
}
但是更好的解决方案是使用NSNumberFormatter
。将minimumIntegerDigits
设置为0
可以避免前导0
。
NSNumberFormatter *fmt = [[NSNumberFormatter alloc] init];
fmt.numberStyle = NSNumberFormatterDecimalStyle;
fmt.minimumInterDigits = 0;
NSString *result = [fmt stringFromNumber:@(0.45)];
这具有为用户的语言环境正确格式化结果的优点(除了删除前导0之外)。
最好避免删除前导0。输出可能会使用户感到困惑。