NSNumber存储浮点数.请不要科学记谱法?

Dan*_*gan 1 cocoa-touch objective-c string-formatting phone-number ios

我的代码看起来像这样

NSNumber *inputToNumber = [NSNumber numberWithFloat:[textField.text floatValue]];
Run Code Online (Sandbox Code Playgroud)

textfield中的值实际上是一个电话号码.它作为恼人的(2.0)78966e + 08存储在NSNumber中

我怎样才能让NSNumber将其存储为0207896608?

mou*_*iel 34

我认为将电话号码存储到NSNumber的基本想法是有缺陷的:

  • 你怎么区分有或没有前导0的数字?
  • 你如何存储来自国外的电话号码?

我会用NSString代替NSNumber.


Chr*_*son 9

仅仅因为它被称为数字并不意味着"电话号码"是与"5"或"pi"相同意义上的数字.

您应该将电话号码视为字符串,或者您应创建一个TelephoneNumber模型类来表示每个电话号码.


小智 5

考虑到世界上有些地方的数字没有前导0,而前导0的数字与没有前导0的相同数字不同.

05843924 != 5843924
Run Code Online (Sandbox Code Playgroud)

所以不要对那些NSNumber黑客进行懒惰并建立自己的电话号码课程.