首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为number_with_precision添加类

为number_with_precision添加类
EN

Stack Overflow用户
提问于 2018-02-12 11:45:56
回答 2查看 110关注 0票数 0

我有一个代码,上面显示了价格:

代码语言:javascript
复制
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}

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-02-12 12:00:09

您必须用'.‘拆分number.value。作为分隔符,并使用它就像

代码语言:javascript
复制
full_value = number.value.to_s.split('.')

haml: %b #{full_value[0]}.
        %span #{full_value[1]}
票数 1
EN

Stack Overflow用户

发布于 2018-02-12 11:59:53

因为你没有去掉不重要的零,所以在你需要格式化的末尾总是有3位数字(假设你包括小数位)。

你能做到的

代码语言:javascript
复制
number.value.to_s[0..-4]

它将给出字符串中的所有字符,除了最后的3个字符,然后

代码语言:javascript
复制
number.value.to_s.last(3)

返回要单独格式化的部分

如果您不想格式化小数点,只需要分隔最后两个字符:

代码语言:javascript
复制
number.value.to_s[0..-3]
number.value.to_s.last(2)

然后,可以根据需要对这些文件进行格式化。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48745770

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档