String.Format()拆分整数值

时间:2009-04-07 21:49:03

标签: c# .net string formatting

我想知道.Net的String.Format()是否可以将一个整数分成两个子字符串。例如,我有一个数字3234,我想将其格式化为32X34。我的整数总是有4或6位数。这可能使用String.Format()吗?如果是这样,格式字符串将起作用?

P.S。 我知道还有其他方法可以做到这一点,但我特别想知道String.Format()是否可以处理这个问题。

3 个答案:

答案 0 :(得分:11)

您可以在致电String.Format

时指定自己的格式
String.Format("{0:00x00}", 2398) // = "23x93"

答案 1 :(得分:4)

詹姆斯,我不确定你是否完全明确了这个问题。

如果您的目标是将“x”放在字符串的 center 中,Samuel's answer将不适用于6位数字。 String.Format("{0:00x00}", 239851)返回“2398x51”而不是“239x851”

相反,请尝试:

String.Format(val<10000 ? "{0:00x00}" : "{0:000x000}", val)

在任何一种情况下,该方法都称为Composite Formatting

(我假设数字介于1000和999999之间。即使这样,1000到1009之间的数字也会报告'x'之后带有不必要的前导'0'的数字。所以这个方法可能有效适用于1010和999999之间的值。)

答案 2 :(得分:-1)

不,它不能。

事实上,你的整数似乎不是整数。也许它们应该存储在一个类中,它有自己的ToString()方法,它会以这种方式格式化它们。