符合Objective-C中数字数量的智能舍入



嗨,我想智能滚动浮点数,以保持数字恒定的数量。该数字将始终具有1或2个整数数字 未定义的十进制数字。

我想拥有一个始终具有3位数字的数字,无论其位置如何

ex:

83.235 = 83.2
0.110321 = 0.11
4.56723 = 4.57

如果领先零不算为数字

nsnumberformatter具有UsessimentificantDigits,最小值含量和最大值的属性,这些属性应该可以完成您需要的工作。将两个值都设置为3,或者仅将最大值设置为最大值,如果您不想在小数点较少的值的值上进行尾声。

如果您希望引导零计数为数字

我不知道任何内置的处理方式,但是您可以编写一些自定义逻辑来完成此操作。例如

if (yourNum < 10)
    formattedNum = [NSString stringWithFormat:@"%.2f", yourNum];
else
    formattedNum = [NSString stringWithFormat:@"%.1f", yourNum];

这是假设该数字始终在0到99之间。无论如何,如果您对数据完整性没有100%的信心,则可能需要更多检查。

最新更新