我尝试使用以下格式格式化6位数的字符串:
1234年至1256年。
我使用以下内容:
string.Format("123456", "{0000/00}");
结果123456
答案 0 :(得分:2)
尝试类似
的内容var number = int.Parse("123456");
var formattedNumber = number.ToString("####/##", CultureInfo.InvariantCulture);
编辑以包括零填充(如果需要):
var number = int.Parse("123456");
var formattedNumber = number.ToString("####/##", CultureInfo.InvariantCulture).PadLeft(7,'0');
对于低于10的任何数字(即" 000009"),您仍然会遇到问题,显示为0000/9。在下面你可能会更好地使用子字符串修改。
var text = "123456";
var formattedNumber = text.Substring(0, 4) + "/" + text.Substring(4, 2);
答案 1 :(得分:0)
如果您使用数字,我会使用上面的@ rob-s&#39示例。如果您正在处理实际的字符串,那么您可以使用以下代码示例。
var value = "123456";
var index = value.Length - 2;
var formattedValue = $"{value.Substring(0, index)}/{value.Substring(index)}";
Console.WriteLine(formattedValue);
您的输出将与您在问题中描述的内容相似。
1234年至1256年
答案 2 :(得分:0)
请尝试以下代码。
string.Format("{0:####/##}",123456)
我测试了代码并且正在运行。
有关字符串格式的参考,请访问:
https://docs.microsoft.com/en-us/dotnet/standard/base-types/custom-numeric-format-strings