作者热门文章
- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
是否可以使用 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#inspect
和 Float#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/
我是一名优秀的程序员,十分优秀!