最近在做蓝牙传数据时,因为蓝牙限制20个字节,
NSString *str1 = @"-1.000.32-0.210.30";
所以不能加分割符","之类的,会超出字节,不然我们就以下一句就搞定。
NSString *str1 = @"-1.00,0.32,-0.21,0.30";
创建一个以分割的字符串,反数组的
NSArray *arr =[stringFromData componentsSeparatedByString: @","];
好了,代码下面:
自定义字符串分割,以小数字后二位,和带"-"号前二位,不带前一位分割
/*
输出
(
"-1.00",
"0.32",
"-0.21",
"0.30"
)
*/
NSString *str1 = @"-1.000.32-0.210.30";
NSString *temp = nil;
NSMutableArray *arrM = [[NSMutableArray alloc] init];
int len = 4;
int num = 1;
for (int i = 0; i < str1.length-2; i++) {
temp = [str1 substringWithRange:NSMakeRange(i,1)];
if ([temp isEqual: @"-"]) {
len = 5;
num = 2;
}
if ([temp isEqual: @"."]) {
[arrM addObject: [str1 substringWithRange:NSMakeRange(i-num, len)]];
len = 4;
num = 1;
}
}
NSLog(@"%@",arrM);
当然,我们也可以在蓝牙外设发这个数据之时,乘于100后传送,弃掉"."号,到我们这边在乘于0.01;
网友评论