ruby - 如何在ruby中获取字符串数组的总和

标签 ruby arrays string floating-point sum

我有一个十进制数字数组作为字符串,我需要获取数组的总和,我尝试遍历数组并将每个数字更改为 float ,但每次都只返回一个整数,我需要sum 为小数。我应该将字符串更改为哪种数据类型,以及获取数组总和的最佳方法会有所帮助。

最佳答案

你只需要做

array.map(&:to_f).reduce(:+)

解释:-

# it give you back all the Float instances from String instances
array.map(&:to_f)
# same as
array.map { |string| string.to_f }
array.map(&:to_f).reduce(:+)
# is a shorthand of 
array.map(&:to_f).reduce { |sum, float| sum + float }

#reduce 的文档和 #map .

关于ruby - 如何在ruby中获取字符串数组的总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24148738/

相关文章:

javascript - IE9 错误 80020102,使用带有 doctype strict 的 vbscript Preserve 关键字

string - 字符串的前缀

ruby - 获取 Sinatra 请求路由/路径

Ruby Liquid 模板嵌套哈希

javascript - 查找数组中数字的组合

javascript - vue.js 在更新数组后不更新 DOM

java - 为什么这个分隔符没有发挥应有的作用?

c - 将参数放入 char 数组,代码解释

ruby - "NameError: uninitialized constant User::MongoMapper"尝试 MongoMapper 'Getting Started'

ruby-on-rails - Ruby 查找具有特定帖子内容的用户