小编Duk*_*keh的帖子

在Ruby中将对象转换为值的哈希值

我已经四处搜索,但找不到任何内置的方法来将对象(我自己创建的)转换为值的哈希值,因此必须寻找其他地方.

我的想法是使用.instance_variables,@从每个变量的前面剥离,然后使用attr_accessorfor each创建哈希.

你们有什么感想?这是'Ruby Way',还是有更好的方法来做到这一点?

ruby hash object

5
推荐指数
1
解决办法
4744
查看次数

处理Ruby中的大量(高精度)Floats

我正在制作一个听定价格定期更新的应用程序,但偶尔我的数据源会抛出类似"1.79769313486232e + 308"的内容.发送的数字永远不会是真正的大数字(例如"179769313486232e + 308"),但与上面的例子一样,它们具有很高的精度.

我很乐意在前几个小数位之后删除所有内容,并最终得到类似"1.798"的内容,但以下代码对我不起作用:

irb(main):001:0> s = '1.79769313486232e+308'
=> "1.79769313486232e+308"
irb(main):002:0> ("%.3f" % s).to_f
(irb):2: warning: Float 1.79769313486232e+30... out of range
=> 0.0
Run Code Online (Sandbox Code Playgroud)

在Ruby中处理这些数字的任何优雅方法?

ruby floating-point floating-accuracy

1
推荐指数
1
解决办法
2181
查看次数

标签 统计

ruby ×2

floating-accuracy ×1

floating-point ×1

hash ×1

object ×1