たとえば、データを 16 進値として返すデバイスがあります00 00 00 56 00 00 01 00
。これを NSString に配置します。3 番目と 4 番目のセグメントを double に変換することにのみ関心があります。すなわちのみ00 56
。
http://www.binaryhexconverter.com/hex-to-decimal-converterなどのサイトで機能し、必要な値を返します。
NSScanner を使用しようとすると、それが 16 進数コードのセグメントにすぎないことが気に入りません。
NSScanner *scanner = [[NSScanner alloc] initWithString:numberAsHex];
double value = 0.0;
BOOL result = [scanner scanHexDouble:&value];
NSLog(@"Value %@", [NSNumber numberWithDouble:value]);
NSLog(@"Result %c", result);
私もstrtol()
同様に使用しようとしましたが、運がありません。
誰でも助けてもらえますか?