"005" "%03d" % 55 #=> "055" "%03d" % 555 #=> "555" 所以基本上数字将有 3 -6ren">
gpt4 book ai didi

ruby-on-rails - 如何做数字到字符串后缀

转载 作者:数据小太阳 更新时间:2023-10-29 07:14:34 31 4
gpt4 key购买 nike

如你所知,在 ruby​​ 中你可以做到

"%03d" % 5
#=> "005"

"%03d" % 55
#=> "055"

"%03d" % 555
#=> "555"

所以基本上数字将有 3 个字符串位置的“0”前缀

只是想知道是否有可能以类似的好方法做数字字符串后缀?(请不要使用 if 语句)

something 5
#=> 500

something 55
#=> 550

something 555
# => 555

最佳答案

ljust方法怎么样?

"5".ljust(3, "0")

和一些 to_sto_i 方法调用,如果你想对整数执行此操作的话

您可以使用更多的数学运算来避免字符串转换,例如 log_10 来查找整数中的位数,然后 i *= 10**x 其中 x 是你还需要多少个 0

像这样:

def something(int, power=3)
int * 10**([power - Math.log10(int).to_i - 1, 0].max)
end

关于ruby-on-rails - 如何做数字到字符串后缀,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11502629/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com