[英]c#: string format
我遇到了一个代码。 任何人都可以对此有所了解。 如果有人发现它有点基本,那就好。
string str= String.Format("{0,2:X2}", (int)value);
感谢您的时间。
X
格式返回value
十六进制表示。
例如String.Format("{0:X}", 10)
将返回"A"
,而不是"10"
如果您的十六进制表示少于两个符号, X2
将在左侧添加零
例如String.Format("{0:X2}", 10)
将返回"0A"
,而不是"A"
0,2
将添加空格的左侧,如果所得到的符号数是小于2。
例如String.Format("{0,3:X2}", 10)
将返回" 0A"
,但不返回"0A"
因此,如果结果只有一个符号,那么这个格式{0,2:X2}
将以十六进制表示法的形式返回你的值,如果它只是一个符号则从左边附加一个零,如果它是一个符号则从左边附加空格。 在多次阅读之后,您可以看到, ,2
是冗余的,这种格式可以简化为{0:X2}
而不改变行为。
一些说明:
:
分隔应用于该对象的索引编号和特定格式。 例如这段代码
String.Format("{0:X} {1:N} {0:N}", 10, 20)
显示,我想以十六进制格式化10
(索引0),然后以数字方式显示20
(索引1),然后以数字方式格式化10
(索引0)。
0,2
从半列的左侧部分指示索引位置0
和格式,2
应用于结果字符串 ,而不是特定对象。 所以这段代码
String.Format("{0,1} {1,2} {0,4}", 10, 20)
将打印带有至少一个符号的第一个数字,第二个带有至少两个符号,然后再打印第一个带有至少四个符号的数字。 如果结果字符串中的符号数量较少 - 它们将由空格填充。
{0,2:X2}
它分裂成
0,2
- 将数字10
格式化为10
X2
- 将数字10
格式化为十六进制值0A
。 码
String.Format("{0,2:X2}", (int)value); // where value = 10
结果: 0A
实例: http : //ideone.com/NW0U26
我的结论
您可以将"{0,2:X2}"
更改为"{0:X2}"
, 此处为实例 。
参考链接: MSDN
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.