DynamoDB возвращает числа в виде десятичных, а не целых чисел в Ruby - PullRequest
0 голосов
/ 04 апреля 2019

Я храню несколько чисел на карте.Они установлены правильно и правильно отображаются в интерфейсе DynamoDB:

results List [1]
    0 Map
        dateTimeCompleted Number : 1554138543
        questionsAnswered Number : 10
        questionsCorrect Number : 5

Однако, когда я получаю ответ, используя AWS Ruby SDK, они превращаются в десятичные дроби.

"dateTimeCompleted"=>0.1554376141e10,
"questionsAnswered"=>0.2e2,
"questionsCorrect"=>0.5e1

Обратите внимание, что это не из того же элемента, поэтому я знаю, что цифры не совпадают, формат имеет значение.

Как мне сообщить SDK, чтоЯ хотел бы, чтобы они были целыми числами?

или

Нужно ли мне сопоставлять их в Ruby с целыми числами?

1 Ответ

1 голос
/ 04 апреля 2019

Используйте 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)
...