gpt4 book ai didi

ios - 将一段十六进制字符串转换为 double

转载 作者:行者123 更新时间:2023-11-28 22:40:22 25 4
gpt4 key购买 nike

我有一个设备以十六进制值的形式返回数据,例如 00 00 00 56 00 00 01 00。我把它放到一个 NSString 中。我只对将第 3 段和第 4 段转换为双倍感兴趣。即只有 00 56

http://www.binaryhexconverter.com/hex-to-decimal-converter 等网站上它有效并返回我想要的值。

当我尝试使用 NSScanner 时,它不喜欢它只是一段十六进制代码。

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() 但没有成功。

有人能帮忙吗?

最佳答案

NSScanner 的字符串应该是这样的。这是一个示例代码(有效。)

NSScanner *scanner = [[NSScanner alloc] initWithString:@"0x0056"];
double value = 0;
BOOL result = [scanner scanHexDouble:&value];

NSLog(@"Value %@", [NSNumber numberWithDouble:value]);
NSLog(@"Result %c", result);

关于ios - 将一段十六进制字符串转换为 double ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14709177/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com