我有一个字符串类型的序列号。
像这样;
String.Format("{0:####-####-####-####}", "1234567891234567" );
我需要看到这样,1234-5678-9123-4567;
Bu这个代码不起作用?
你能帮助我吗?
我有一个字符串类型的序列号。
像这样;
String.Format("{0:####-####-####-####}", "1234567891234567" );
我需要看到这样,1234-5678-9123-4567;
Bu这个代码不起作用?
你能帮助我吗?
该语法需要一个int,试试这个:
String.Format("{0:####-####-####-####}", 1234567891234567);
编辑:如果您想在字符串上使用此语法,请尝试以下操作:
String.Format("{0:####-####-####-####}", Convert.ToInt64("1234567891234567"))
对于####-####-####-####,您将需要一个数字。但你给它喂了一根绳子。
在左侧用额外的零填充字符串会更实用,因此它正好变成 16 个字符。然后在字符串内的三个位置插入破折号。将其转换为 Int64 也可以,但如果这些字符串变大或开始包含非数字,那么您将遇到问题。
string Key = "123456789012345";
string FormattedKey = Key.PadLeft(16, '0').Insert(12, "-").Insert(8, "-").Insert(4, "-");
那应该是格式化的替代方法。它使键正好为 16 个字符,然后从右到左插入三个破折号。(更容易跟踪索引。)
可能还有很多其他选择,但这个工作得很好。