如何在Swift中将Int转换为十六进制字符串

boscarol:

在Obj-C中,我曾使用以下命令将无符号整数n转换为十六进制字符串:

 NSString *st = [NSString stringWithFormat:@"%2X", n];

我花了很长时间尝试将其翻译成Swift语言,但未成功。

vacawama:

您现在可以执行以下操作:

let n = 14
var st = String(format:"%02X", n)
st += " is the hexadecimal representation of \(n)"
print(st)
0E is the hexadecimal representation of 14

注意:2在此示例中,是字段宽度,代表所需最小长度。0它告诉垫与领先的结果0的如果需要的话。(如果没有0,结果将用前导空格填充)。当然,如果结果大于两个字符,则字段长度将不会被剪裁为2它将扩展到显示完整结果所需的任何长度。

仅在您Foundation导入后才有效(包括Cocoa的导入UIKit)。如果您正在执行iOSmacOS编程,这不是问题

使用大写X,如果你想A...F和小写字母x,如果你想a...f

String(format: "%x %X", 64206, 64206)  // "face FACE"

如果要打印大于的整数值,请在格式字符串中UInt32.max添加llel-el,而不是11):

let n = UInt64.max
print(String(format: "%llX is hexadecimal for \(n)", n))
FFFFFFFFFFFFFFFF is hexadecimal for 18446744073709551615

原始答案

您仍然可以使用NSString此功能。格式为:

var st = NSString(format:"%2X", n)

这会st造成NSString,因此类似之类的东西+=将不起作用。如果你希望能够追加到带有字符串+=化妆stString这样的:

var st = NSString(format:"%2X", n) as String

要么

var st = String(NSString(format:"%2X", n))

要么

var st: String = NSString(format:"%2X", n)

然后,您可以执行以下操作:

let n = 123
var st = NSString(format:"%2X", n) as String
st += " is the hexadecimal representation of \(n)"
// "7B is the hexadecimal representation of 123"

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在Kotlin中将Int转换为十六进制字符串?

如何在 Swift 中将十六进制字符串转换为 CString?

如何在Kotlin中将十六进制字符串转换为dec字符串?

如何在 KOTLIN 中将十六进制字符串转换为 ASCII 字符串

如何在Kusto中将十六进制字符串转换为Ascii字符串

如何在 C++ 中将十六进制转换为十进制字符串?

如何在Node.js中将十六进制字符串转换为十六进制数字

如何在Swift中将十六进制字符串转换为UInt8字节数组?

如何在Swift中将UIColor转换为3/4/6/8位数的十六进制字符串?

如何在Javascript中将十六进制字符串转换为字节并将字节转换为十六进制字符串?

如何在Java中将字节数组转换为十六进制字符串?

如何在perl中将char字符串转换为十六进制

如何在Java中将十六进制字符串转换为字节值

如何在Go中将整数转换为固定长度的十六进制字符串?

如何在Java中将十六进制字符串转换为long?

如何在Android中将颜色整数转换为十六进制字符串?

如何在scala中将长十六进制字符串转换为BigInt

如何在python中将完整的ascii字符串转换为十六进制?

如何在Perl中将浮点数转换为十六进制字符串?

如何在Rust中将字符串转换为十六进制?

如何在R中将十六进制字符串转换为文本?

如何在C中将字符串转换为十六进制值

如何在JS中将字符串类型的十六进制转换为数字?

如何在Crystal中将十六进制字符串转换为字节数组?

如何在JavaScript中将数据的十六进制字符串转换为ArrayBuffer?

如何在 Java 中将字符串转换为 0x 十六进制格式?

如何在SQL Server中将十六进制转换为字符串

如何在python中将十六进制字符串转换为彩色图像?

如何在C中将字符串转换为十六进制,反之亦然?