gpt4 book ai didi

ruby - 如何在 Ruby 中每 3 位小数后用空格格式化 float ?

转载 作者:数据小太阳 更新时间:2023-10-29 08:27:29 25 4
gpt4 key购买 nike

是否可以使用 Ruby 数字格式(例如 sprinf 或其他?)来格式化每 3 位小数后带有空格的 float ?

1.5         => 1.5
1.501 => 1.501
1.501001 => 1.501 001
1.501001001 => 1.501 001 001

还有其他简单的方法吗?

使用 Ruby,不是 Rails

最佳答案

我认为对此没有任何内置支持,但您可以按如下方式更改 Float#inspectFloat#to_s 的行为:

class Float
alias :old_inspect :inspect
def inspect
pieces = old_inspect.split('.')
if pieces.length == 1
pieces[0]
else
pieces[1].gsub!(/(...)(?!$)/,'\1 ')
pieces.join('.')
end
end
alias :to_s :inspect
end

注意:我只对此进行了最低限度的测试,并且肯定有更优雅的方式来根据 Ruby 字符串操作对其进行编码。这也有很大的风险,这会搞砸依赖于传统浮点格式的代码。

关于ruby - 如何在 Ruby 中每 3 位小数后用空格格式化 float ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20870892/

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