You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Ruby将"1.273,08"格式的货币字符串转换为浮点数值?

欧洲格式数字字符串转浮点数解决方案

你遇到的是欧洲地区常用的数字书写格式转换问题:.作为千位分隔符,,作为小数分隔符,按以下逻辑处理即可:

  • 第一步:全局删除所有千位分隔符.
  • 第二步:把小数分隔符,替换为标准浮点数字符.
  • 第三步:转换为float类型

常用语言实现示例

Ruby(原生支持gsub)

origin_str = "1.273,08"
# 先删点再换逗号
processed_str = origin_str.gsub('.', '').gsub(',', '.')
float_result = processed_str.to_f
# 输出结果为 1273.08

Python

origin_str = "1.273,08"
processed_str = origin_str.replace('.', '').replace(',', '.')
float_result = float(processed_str)
# 输出结果为 1273.08

R

origin_str <- "1.273,08"
processed_str <- gsub("\\.", "", gsub(",", ".", origin_str))
float_result <- as.numeric(processed_str)
# 输出结果为 1273.08

注意处理顺序不能颠倒:如果先替换逗号为小数点,会得到1.273.08这种存在两个小数点的非法格式,后续处理会报错或得到错误结果。

内容的提问来源于stack exchange,提问作者jujajjjj

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 03:06:00