首页 > 解决方案 > 使用 Ruby 移动十进制固定数量的空格

问题描述

我将大整数(通常为 15-30 位)存储为字符串,表示一定数量的给定 currenty(例如 ETH)。还存储了移动小数的位数。

{
    "base_price"=>"5000000000000000000",
    "decimals"=>18
}

我最终要寻找的输出是(如果从中取出小数并将其移至左侧 18 位,5.00您会得到)。5000000000000000000

我将如何在 Ruby 中做到这一点?

标签: rubynumbers

解决方案


鉴于:

my_map = {
    "base_price"=>"5000000000000000000",
    "decimals"=>18
}

你可以使用:

my_number = my_map["base_price"].to_i / (10**my_map["decimals"]).to_f
puts(my_number)

推荐阅读