iOS:找出小数位数

时间:2013-03-07 16:40:21

标签: ios objective-c cocoa

我有一些来自服务器的数字,如何知道数字中有多少位数? 我的意思是如何知道2.43在昏迷后有2个数字,3.145 - 3个数字,2.0003 - 4个数字。 提前谢谢..

4 个答案:

答案 0 :(得分:4)

假设您正在使用数字,请将其更改为字符串。删除小数点并获取最后一个对象和长度。

示例:

NSNumber *number = [[NSNumber alloc] initWithFloat:3.902];
[[[[number stringValue]componentsSeparatedByString: @"."] lastObject] length];

答案 1 :(得分:1)

我会这样做:

NSNumber *number = [[NSNumber alloc] initWithFloat:3.902];
NSUInteger i = [[number stringValue] rangeOfString:@"."].location;
long numberOfDigits = [[number stringValue] length]-(i+1);
NSLog(@"%ld", numberOfDigits);
  

3

答案 2 :(得分:0)

  1. 转换为字符串。
  2. 找到小数点范围。
  3. 从小数点位置减去字符串长度并添加一个。

答案 3 :(得分:0)

您是说您是从流中的服务器检索数据吗?

如果您将数据作为流获取,则应该以字符串的长度为前缀,这就是您知道预期的数量的方式。

所以在服务器上,首先转换为字符串,然后确定长度,或者使用另一种建议的方法,然后预先添加字符串的长度,然后先发送该数字。