c# - 等价于 C# 中的 sprintf?

标签 c# string printf

C#中有没有类似sprintf()的东西?

例如,我想将一个整数转换为一个 2 字节的字节数组。

类似于:

int number = 17;
byte[] s = sprintf("%2c", number);

最佳答案

string s = string.Format("{0:00}", number)

第一个 0 表示“第一个参数”(即数字);冒号后的 00 是格式说明符(2 位数字)。

但是,请注意 .NET 字符串是 UTF-16,因此 2 个字符的字符串是 4 个字节,而不是 2 个

(编辑:问题从 string 更改为 byte[])

要获取字节,请使用编码:

byte[] raw = Encoding.UTF8.GetBytes(s);

(显然不同的编码可能会给出不同的结果;UTF8 将为该数据提供 2 个字节)

实际上,第一位的较短版本是:

string s = number.ToString("00");

但是string.Format 版本更加灵活。

关于c# - 等价于 C# 中的 sprintf?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/313006/

相关文章:

c - memcpy 之后 printf 的奇怪行为

c# - 如何将字符串在带有图形的图像中居中?

c# - 如何使用 C# 从服务器获取打印机详细信息

c# - 为 IOC 中的多个接口(interface)注册相同的单例

python - 如何从 Python 中的字符串中获取整数值?

PHP重命名文件,以特殊名称开头?

c - 自复制程序

c# - 试图理解? C# 中的(空条件)运算符

python - 如果一个字符串与另一个字符串共享所有字符,包括 double Python-3.x,则返回 bool

javascript eval 无法理解字符串中的某些 RegEx?