加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby – 如何将float格式化为一定数量的十进制和整数?

发布时间:2020-12-16 23:11:30 所属栏目:百科 来源:网络整理
导读:我试图将 Ruby中的浮点格式化为四位数,包括小数. 例如: 1 = 01.002.4 = 02.401.4455 = 01.45 现在,我正在尝试格式化浮动,如下所示: str_result = " %.2f " %result 哪个成功将小数位限制为两个. 我也知道: str_result = " %2d " %result 哪个成功地将1变
我试图将 Ruby中的浮点格式化为四位数,包括小数.

例如:

1 => 01.00
2.4 => 02.40
1.4455 => 01.45

现在,我正在尝试格式化浮动,如下所示:

str_result = " %.2f " %result

哪个成功将小数位限制为两个.

我也知道:

str_result = " %2d " %result

哪个成功地将1变为01,但丢失了小数位.

我尝试将这些结合起来:

str_result = " %2.2f " %result

没有明显的效果.它与%.2f具有相同的结果.

有没有办法强制Ruby将字符串格式化为这种四位数格式?

解决方法

你可以使用 sprintf('%05.2f',value).

关键是格式是宽度.精度,其中width表示整个数字的最小宽度,而不仅仅是整数部分.

def print_float(value)
  sprintf('%05.2f',value)
end
print_float(1)
# => "01.00" 
print_float(2.4)
# => "02.40" 
print_float(1.4455)
# => "01.45"

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读