c# - 以特定的最大字符数打印一个数字(或字符串)

标签 c# c string

有没有等价于C的 printf("%8d", n) 在 C# 中用于数字和字符串?

那么我能否以某种方式分配一个特定的大小,其中一个字符串或一个数字 将被打印,如果字符串或数字较小,则会有额外的空格 改为添加?

最佳答案

String.Format

格式说明符的格式是

{ index[,alignment][ :formatString] }

我们可以为索引插入 0,为对齐插入 8,使其对齐到 8 个字符。

Console.WriteLine("\"" + string.Format("{0,8}", 1234) + "\"");
Console.WriteLine("\"" + string.Format("{0,15}", 7) + "\"");

这给了我们:

"    1234"
"              7"

我们还可以为对齐指定一个负值,这将使字符串左对齐,而不是像以前那样右对齐。

string.Format("{0,-10}", 72);

哪些输出

"72        "

希望这能帮您解决问题 :)

编辑:

正如克里斯指出的那样,Console.WriteLine 函数本身采用格式字符串,从而消除了显式调用 string.Format() 的必要性。这意味着您可以像这样对齐字符串。

Console.WriteLine("\"{0,8}\"", 1234);

格式化我们的字符串并将其写入控制台,所有这些都在一个语句中。

关于c# - 以特定的最大字符数打印一个数字(或字符串),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15857290/

相关文章:

c# - 具有相同属性名称但大小写不同的 Json 反序列化

c - while循环中跳过scanf,导致死循环

c - 总线错误排查

regex - r- 多重匹配中的部分匹配

c# - 集合被修改;枚举操作可能不会在选择期间执行

c# - 我可以发布在 .NET 中开发的软件的源代码作为 GPL 吗?

c# - 将带有 QueryString 的 URL 传递给 UIWebView

android - NDK 使用什么标志来发布 lib

字符点到十六进制值

java - 正则表达式替换 Java 文件中的所有字符串文字