【发布时间】:2015-04-29 07:09:47
【问题描述】:
我有下面的说明性代码。我需要将条件 1 的输出右对齐并用 |1234500000| 之类的零填充而不是 |0000012345|而不是固定宽度为 10。格式字符串是有条件的,这意味着根据某些标准可以有许多可能的格式字符串之一,而只有一行用于输出。因此,像 PadRight 和 PadLeft 这样的函数不能与值一起使用,除非有一种方法可以使用它们同时仍然具有相同的输出线。 (.NET 4.5)
我怎样才能得到 |1234500000|同时满足这些要求?
string format;
if (condition1)
format = "|{0:0000000000}|";
else
if (condition2)
format = "|{0}|";
//more conditions here
Int64 value = 12345;
string a = String.Format(format, value);
a.Dump();
【问题讨论】:
-
当你用零填充它们时,你怎么知道最后一组数字中的任何一个是否应该为 0?对我来说似乎是个坏主意。
-
什么意思?零是左对齐的,因此数字从第一个非零数字开始。数字不以零开头。
-
@Tony_Henrich:如果你真的想用零填充一个数字而不是其他的,那么你的代码工作得很好。还有哪些其他格式会使您的代码无法使用?
-
@Cᴏʀʏ 这是对某人的编辑的编辑,这改变了问题。它已被还原。
标签: c# .net string.format