-3

我可以有不同长度的整数...例如 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 位整数...

4

2 回答 2

2

那个怎么样:

(1896/1000.0).round(1) # 1.9
(894/1000.0).round(1) # 0.9
(539/1000.0).round(1) # 0.5
于 2013-02-19T07:29:58.370 回答
1

这一切都在 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

于 2013-02-19T07:30:18.353 回答