我有一个由两个数字组成的组合框;英寸和毫米。目前看起来很可怕。我想知道这里的一些大师是否有任何衬里字符'|'或者至少让它变得更好?
一些背景信息,数字英寸和毫米是单独的字符串,我像这样附加在一起:
Size(in) + " (In) | " + Size(mm) + " (mm)"
答案 0 :(得分:2)
最简单的方法可能是将每个数字格式化为至少3英寸的小数位数。这仍然不会很完美,因为字母字体宽度不会很完美,以解决您需要使用等宽字体的问题。
要格式化为3dp,您可以使用以下
String.Format("{0:f3}", Size(in)) + " (In) | " + Size(mm) + " (mm)"
由于您有一些小数点前两位数的值,因此您可以始终使用PadLeft
来对齐这些值,但是如果没有等宽字体,这并不总是有效。
String.Format("{0:f3}", Size(in)).PadLeft(5, ' ') // or (5, '0')
答案 1 :(得分:1)
使用String.PadRight(i);
和String.PadLeft(i);
i
为nr。空间到"填充":
示例:
// 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