我有一些来自服务器的数字,如何知道数字中有多少位数? 我的意思是如何知道2.43在昏迷后有2个数字,3.145 - 3个数字,2.0003 - 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)
答案 3 :(得分:0)
您是说您是从流中的服务器检索数据吗?
如果您将数据作为流获取,则应该以字符串的长度为前缀,这就是您知道预期的数量的方式。
所以在服务器上,首先转换为字符串,然后确定长度,或者使用另一种建议的方法,然后预先添加字符串的长度,然后先发送该数字。