我有一个代码,上面显示了价格:
def value
h.number_with_precision(object.value, precision: 2,strip_insignificant_zeros: false)
end我把这个值放在haml:%b= #{number.value}中
例如:在<b/>中显示价格"1234.02“,我需要一些".02”样式。如何在span中实现精度
编辑: Ruby字符串内置了格式化程序。不需要使用任何类。只需使用"%.2f" % #{number.value}
发布于 2018-02-12 12:00:09
您必须用'.‘拆分number.value。作为分隔符,并使用它就像
full_value = number.value.to_s.split('.')
haml: %b #{full_value[0]}.
%span #{full_value[1]}发布于 2018-02-12 11:59:53
因为你没有去掉不重要的零,所以在你需要格式化的末尾总是有3位数字(假设你包括小数位)。
你能做到的
number.value.to_s[0..-4]它将给出字符串中的所有字符,除了最后的3个字符,然后
number.value.to_s.last(3)返回要单独格式化的部分
如果您不想格式化小数点,只需要分隔最后两个字符:
number.value.to_s[0..-3]
number.value.to_s.last(2)然后,可以根据需要对这些文件进行格式化。
https://stackoverflow.com/questions/48745770
复制相似问题