如何将包含美元金额的字符串转换为整数?

pjw23

如何将包含美元形式的字符串"$39,900"转换为整数,以便可以执行计算?

我想我会尝试gsub,但是似乎不起作用:

str = "$39,900"
str.strip.gsub('$' '')
=> #<Enumerator: "$39,900":gsub("$")>

有人可以跟我分享解决这个问题的正确方法吗?

锡人

我会用:

str = "$39,900"
str.tr('^0-9', '').to_i # => 39900

它是如何分解的:

str # => "$39,900"
.tr('^0-9', '') # => "39900"
.to_i # => 39900

'^0-9', ''intr表示“将非0..9的所有内容替换为'',仅产生数字。

tr它非常快,比gsub这种用法要快得多,并且非常值得了解和解决此类问题。

如果您坚持使用gsub正则表达式,则可以这样做:

str.gsub(/\D+/, '').to_i # => 39900

但是我仍然建议使用tr原因如下:

require 'fruity'

str = "$39,900"
compare do
  _gsub { str.gsub(/\D+/, '') }
  _tr { str.tr('^0-9', '') }
  jason_yost { str.scan(/\d/).join('') }
  nikita_mishain { str.tr('$,', '') }
  ruben_tf { str.gsub(/[^\d]/, '') }
end

# >> Running each test 8192 times. Test will take about 2 seconds.
# >> nikita_mishain is similar to _tr
# >> _tr is faster than ruben_tf by 4x ± 1.0
# >> ruben_tf is similar to _gsub
# >> _gsub is faster than jason_yost by 2x ± 0.1

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将包含字符串的列表转换为包含整数的列表(Python)

Ruby 将美元整数转换为字符串

Ruby:将美元(字符串)转换为美分(整数)

如何将整数转换为字符串?

如何将字符串转换为整数

如何将字符串系列转换为整数

如何将整数值转换为字符串?

如何将整数转换为字符串?

如何将整数转换为字符串文字?

如何将字符串转换为整数?

如何将字符串值转换为整数

如何将输入字符串转换为整数

如何将字符串转换为整数熊猫

将包含整数的字符串转换为整数

如何将字符串中的整数数组转换为字符串数组?

如何将包含字节字符串的字符串转换为字节字符串

如何将整数切片的字符串转换为整数切片?

如何将整数字符串转换为2D整数矢量?

如何将值大于整数大小的整数变量转换为 talend 中的字符串

如何将包含控制字符的字符串转换为应用了控制字符的字符串?

如何将包含“ $-”字符的熊猫字符串转换为浮点型

如何将包含字符转义序列的字符串转换为char?

如何将字符串转换为仅包含双引号中的字符的数组

如何将字符串表示形式转换为整数数组?

如何将列表中的数字和字母字符串转换为整数?

如何将整数(月)转换为人类友好的字符串?

我如何将字符串索引转换为整数索引

如何将数组的字符串转换为整数数组

如何将字符串转换为没有空格的整数?