我试图在rails中格式化一列数字-使用number_to_currency
。我想用()s显示负数-这很容易使用negative_format
选项。然而,当我这样做时,一列数字中的小数点并没有排成一行。我想在正数格式中添加一个尾随空格-%u%n
,只是我不知道该怎么做-有人能给我正确的尾随空格格式吗?
最佳答案
有两种方法可以在正数上加一点空格,或者:
使用fixed width font和不间断空格
将类应用于正数的封闭元素(或换行),然后使用内部填充在右侧添加空格。
第一种方法将表示与内容混合在一起,但具有使用任何字体大小(或用户调整大小的字体)的优点。使用第二种解决方案,您的html会更干净,在性能良好的浏览器中,一切都会很好地工作,但是您的里程数会随着不太现代的浏览器而变化。
下面是第一个选项的快速实现:
def pad_positives(number_string)
unless number_string[0,1] == '('
number_string += '%nbsp;'
end
number_string
end
您可以将其放到相应的帮助程序文件中,然后在视图中执行以下操作:
<%= pad_positives(number_to_currency(number, ...)) %>
注意这个函数需要一个字符串,所以如果你给它一个数字,它会窒息。希望这有帮助!
关于ruby - Rails格式为正数和负数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7729820/