嗨我想聪明地围绕一个浮点数,以保持位数不变。 此数字将始终具有1或2个整数位数+未定义的十进制数字。
我想要一个总是3位数的数字,无论其位置如何
EX:
83.235 = 83.2
0.110321 = 0.11
4.56723 = 4.57
答案 0 :(得分:2)
如果前导零不算数字
NSNumberFormatter具有usesSignificantDigits,minimumSignificantDigits和maximumSignificantDigits属性,可以满足您的需求。如果您不希望在具有较少小数位的值上使用尾随零,则将两个值都设置为3,或者仅设置为最大值。
如果您希望前导零计为数字
我不知道有任何内置的处理方式,但您可以编写一些自定义逻辑来执行此操作。 e.g。
if (yourNum < 10)
formattedNum = [NSString stringWithFormat:@"%.2f", yourNum];
else
formattedNum = [NSString stringWithFormat:@"%.1f", yourNum];
这假设数字始终在0到99之间。无论如何,如果您对数据完整性没有100%的信心,那么您可能需要更多检查。