我的文本字段映射到模型对象上的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
复制相似问题