是否有自定义或标准库可以与目标c一起使用,将十进制浮点值转换为十六进制,二进制和八进制NSStrings?
我一直在四处寻找,但只能通过使用:double result = (double)strtoll(myHexString.UTF8String, NULL,16)
答案 0 :(得分:1)
对于八进制和十六进制,您可以利用以下事实:您可以使用%x和%o说明符格式化十六进制和八进制数字:
NSString* str=[NSString stringWithFormat: @"Hex: %x Octal: %o",14,14];
但这仅适用于积分部分,因此可以使用整数。如果您还需要小数部分,要获得固定点,您需要实现算法,二进制相同。
答案 1 :(得分:0)
为了补充上一个答案,格式说明符%x仅允许处理整数值。
如果您得到的小数值大于最大整数值,则可以使用long long以这种方式转换double值:NSString * hexString = [NSString stringWithFormat:@"%llx", (long long)doubleValue];