排列字符
Line up Characters
我有一个由两个数字组成的组合框;英寸和毫米。目前它看起来很可怕。我想知道这里的一些大师是否有衬字符“|”或者至少让它变得更好?
一些背景信息,英寸数和毫米数是单独的字符串,我将它们附加在一起,如下所示:
Size(in) + " (In) | " + Size(mm) + " (mm)"
使用 String.PadRight(i);
和 String.PadLeft(i);
,其中 i
是编号。 "fill":
的空格
示例:
// Just to simplify a little, create vars:
var inches = Size(in) + " (In) ";
var mm = " + Size(mm) + " (mm)";
var formatted = inches.PadRight(15) + "|" + mm.PadLeft(15);
填充值使用 15 的输出示例(显然,您可以根据需要进行调整):
43 inches | 123 cm
445554 inches | 12345 cm
可能最简洁的方法是将每个数字格式化为至少有 3 位小数以表示英寸。但是,这仍然不是完美的,因为字母字体宽度不是完美的,要解决这个问题,您需要使用等宽字体。
要格式化为 3dp,您可以使用以下内容
String.Format("{0:f3}", Size(in)) + " (In) | " + Size(mm) + " (mm)"
由于您有一些小数点前 2 位的值,因此您始终可以使用 PadLeft
来对齐这些值,但是如果没有等宽字体,这并不总是有效..
String.Format("{0:f3}", Size(in)).PadLeft(5, ' ') // or (5, '0')
我有一个由两个数字组成的组合框;英寸和毫米。目前它看起来很可怕。我想知道这里的一些大师是否有衬字符“|”或者至少让它变得更好?
一些背景信息,英寸数和毫米数是单独的字符串,我将它们附加在一起,如下所示:
Size(in) + " (In) | " + Size(mm) + " (mm)"
使用 String.PadRight(i);
和 String.PadLeft(i);
,其中 i
是编号。 "fill":
示例:
// Just to simplify a little, create vars:
var inches = Size(in) + " (In) ";
var mm = " + Size(mm) + " (mm)";
var formatted = inches.PadRight(15) + "|" + mm.PadLeft(15);
填充值使用 15 的输出示例(显然,您可以根据需要进行调整):
43 inches | 123 cm
445554 inches | 12345 cm
可能最简洁的方法是将每个数字格式化为至少有 3 位小数以表示英寸。但是,这仍然不是完美的,因为字母字体宽度不是完美的,要解决这个问题,您需要使用等宽字体。
要格式化为 3dp,您可以使用以下内容
String.Format("{0:f3}", Size(in)) + " (In) | " + Size(mm) + " (mm)"
由于您有一些小数点前 2 位的值,因此您始终可以使用 PadLeft
来对齐这些值,但是如果没有等宽字体,这并不总是有效..
String.Format("{0:f3}", Size(in)).PadLeft(5, ' ') // or (5, '0')