有关背景信息,请参阅this issue。我正在努力让以下内容排成一行:
$ 123.00
($ 3,231.99)
$ 0.82
我已经通过在格式字符串中插入一个unicode来完成它。但是,nbsp与宽度不同。
有没有什么办法可以在格式字符串中包含HTML并让它被正确解释?我正在使用带有Razor ViewEngine的ASP.NET MVC。
我目前正在使用以下内容进行转换:
Value.ToString("$ #,0.00;($ #,0.00);");
我添加了这样的(非常接近):
Value.ToString("$ #,0.00\u00A0;($ #,0.00);");
我正在考虑这样的事情,使其与每种字体完美对齐:
Value.ToString("$ #,0.00<span class='color:transparent;'>)</span>;($ #,0.00;");
思想?
答案 0 :(得分:2)
要真正解决问题,我只会使用表格。关于这个解决方案的好处是所有列都具有相等的宽度。
table{
border-collapse: collapse;
}
table tr td{
text-align: right
}
<table>
<tr>
<td></td>
<td>$</td>
<td>123.00</td>
</tr>
<tr>
<td>(</td>
<td>$</td>
<td>3,231.99</td>
<td>)</td>
</tr>
<tr>
<td></td>
<td>$</td>
<td>0.82</td>
</tr>
</table>
答案 1 :(得分:0)
作为多列表答案的替代方法,您可以为数字列使用等宽字体和右对齐文本,然后正数末尾的空格应与负数的右侧对齐。
以下是等宽字体系列的示例。 http://www.w3schools.com/cssref/css_websafe_fonts.asp
“Courier New”,Courier,monospace
“Lucida Console”,摩纳哥,monospace
注意:搜索互联网可能会引导您<TD align="char" char="." >
。请勿使用此align = char选项,因为HTML5不支持此选项。