我的文本字段映射到模型对象上的NSUInteger
类型属性。只要该属性等于NSUIntegerMax
,文本字段的NSNumberFormatter
就会显示-1
。我宁愿它显示∞
。
我尝试将'Format (-)‘值(从IB)设置为∞
,但结果是∞1
。有一些方法可以定义遇到无穷大时要使用的符号。但是它从来没有被使用过。如果不是NSUIntegerMax
,那么哪个值实际上会产生无穷大符号??
发布于 2012-02-24 03:06:14
NSUIntegerMax
不是无穷大,它只是一个大数字。浮点数(float
或double
)确实具有表示无穷大的特殊值,对于这些值,数字格式化程序将使用给定的无穷大符号。
要为NSUIntegerMax
指定无穷大符号,您要么编写自己的数字格式化程序,要么单独处理这种情况。
发布于 2012-02-24 03:08:04
在整数空间中没有“无穷大”。只有浮点型才有“无穷大”的概念(还有"NaN“或”非数字“)。NSUIntegerMax
绝对不是无穷大(它比无穷小得多)。
如果您想要将一个有限整数映射到字符串∞
,那么您需要转换为浮点数并使用INFINITY
,或者您需要子类NSNumberFormatter
来重写stringForObjectValue:
来执行您想要的操作。或者,如果你愿意,你可以在更高的层次上管理它,只需在将它们交给你的NSNumberFormatter
之前进行检查即可。
https://stackoverflow.com/questions/9419396
复制相似问题