Когда я запускаю свой тестовый скрипт, он дает значения как 0.2948e4 и 0.299e4, используя split
.
count.to_s.split('.')[1].to_i
, это дает мне значения как 2948 и 299, но проблема заключается в299 стоимости.Я выполнил свой запрос вручную, и он дает мне 2990. '0' удаляется.
Кроме того, пытаясь проверить, правильно ли я делаю это, чтобы проверить?target=source
должно пройти, а target!=source
должно не получиться.
Это то, что я пробовал:
data_one =
def self.row_count(data_one)
r = $dif_env.teradata.fetch "(#{data_one})"
count = Hash[r.map{|key, value| [key, value]}]
target = count.to_s.split('.')[1].to_i
puts target
source = count.to_s.split('.')[2].to_i
puts source
assert_equal 'target=source','target!=source'.nil?
end
Ожидаемые результаты должны быть target = 2948
иSource = 2990
.Фактические результаты: target =2948
и source = 299
.
Я следовал " Как преобразовать десятичные значения с плавающей запятой в целые числа в ruby ".