我在地图中存储了一些数字。它们已正确设置,并正确显示在DynamoDB界面中:
results List [1]
0 Map
dateTimeCompleted Number : 1554138543
questionsAnswered Number : 10
questionsCorrect Number : 5
但是,当我收到响应时,使用AWS Ruby SDK,它们变成了decmimals。
"dateTimeCompleted"=>0.1554376141e10,
"questionsAnswered"=>0.2e2,
"questionsCorrect"=>0.5e1
请注意,这不是同一项目,因此我知道数字不匹配,因此格式很重要。
如何告诉SDK我希望它们为整数?
或
我需要自己在Ruby中将它们映射为整数吗?
答案 0 :(得分:1)
使用to_i
:
0.1554376141e10.to_i # => 1554376141
要转换哈希中的所有值:
my_hash.reduce({}) { |memo, (k,v)| memo[k] = v.to_i; memo }
或:
my_hash.transform_values(&:to_i)