最近在做藍(lán)牙傳數(shù)據(jù)時(shí),因?yàn)樗{(lán)牙限制20個(gè)字節(jié),
NSString *str1 = @"-1.000.32-0.210.30";
所以不能加分割符","之類的,會(huì)超出字節(jié),不然我們就以下一句就搞定。
NSString *str1 = @"-1.00,0.32,-0.21,0.30";
創(chuàng)建一個(gè)以分割的字符串,反數(shù)組的
NSArray *arr =[stringFromData componentsSeparatedByString: @","];
好了,代碼下面:
自定義字符串分割,以小數(shù)字后二位,和帶"-"號(hào)前二位,不帶前一位分割
/*
輸出
(
"-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);
當(dāng)然,我們也可以在藍(lán)牙外設(shè)發(fā)這個(gè)數(shù)據(jù)之時(shí),乘于100后傳送,棄掉"."號(hào),到我們這邊在乘于0.01;