我可以有不同长度的整数...例如 1896 或 894...
但是如何将它们转换为浮点数,以便逗号后只有一个符号?
例如
1896 -> 1.9
894 -> 0.9
539 -> 0.5
我怎么能在红宝石上做到这一点?
现在我这样做:
type.TYP_CCM.round(-2).to_s[0].concat(".").concat(type.TYP_CCM.round(-2).to_s[1])
但这是个坏主意,仅适用于 4 位整数...
那个怎么样:
(1896/1000.0).round(1) # 1.9
(894/1000.0).round(1) # 0.9
(539/1000.0).round(1) # 0.5
这一切都在 API 中:
(1234/1000.0).round(1)
应该在点后给你一位小数。
即使它不在 API 中,您也可以通过以下方式轻松模拟它
(1234/100.0).round() / 10.0
或更接近您的代码:
(1234).round(-2) / 1000.0
至于确保您的输出具有 xxxx.y 格式 - 使用格式字符串,http: //www.ruby-doc.org/core-1.9.3/String.html#method-i-25