ruby-on-rails - rails计算两个哈希之间的百分比
问题描述
我有两个哈希看起来
A = {2019.01 => 100, 2019.02 => 100, 2019.03 => 100, 2019.04 => 100}
B = {2019.01 => 20, 2019.02 => 30, 2019.03 => 50, 2019.04 => 40}
我需要结果
C = {2019.01 => 20%, 2019.02 => 30%, 2019.03 => 50%, 2019.04 => 40%}
解决方案
给定您的数据作为变量:
a = {2019.01 => 100, 2019.02 => 100, 2019.03 => 100, 2019.04 => 100}
b = {2019.01 => 20, 2019.02 => 30, 2019.03 => 50, 2019.04 => 40}
如果您只需要百分比b
,您可以转换值:
b.transform_values{ |v| v.fdiv(100) }
#=> {2019.01=>0.2, 2019.02=>0.3, 2019.03=>0.5, 2019.04=>0.4}
如果您需要除以 的值a
,您可以合并:
a.merge(b) { |k, o_v, n_v| n_v.fdiv(o_v) }
{2019.01=>0.2, 2019.02=>0.3, 2019.03=>0.5, 2019.04=>0.4}
当需要字符串百分比时,可以使用字符串插值:
n = 0.2
"#{n*100}%"
#=> "20.0%"
注意:您使用浮点数作为看起来像日期的哈希键。
推荐阅读
- swift - 读取捆绑中下载的 .swift 文件
- python - 在刮表的第一列添加标题
- finite-element-analysis - 对于屈曲分析,必须将所有力乘以得到的特征值,还是仅乘以压缩载荷?
- xslt - 旁边有相同元素的 xsl 编号
- json - Ansible json 密钥输出
- image - 如何在prefixIcon内的颤动TextFormField中添加图像
- python - Ply Lex Yacc :在某些规则中将 \n 视为标记,否则将其忽略
- python - Python 百分比计算 0E-14 作为结果
- angular - ng e2e 失败了一些使用 protractor protractor.conf 命令成功的测试用例
- python - 如何在 nameko 中使 RPC 调用异步?