当前位置: 首页 > 面试题库 >

将以逗号为小数点的数字转换为浮点数

商昆琦
2023-03-14
问题内容

我有一个价格列表,逗号带有小数点,点是千位分隔符。

一些例子:

12,30
116,10
1.563,14

这些来自第三方。我想将它们转换为浮点数并将它们添加在一起。

做这个的最好方式是什么? number_format 似乎不适用于此格式, str_replace
似乎有点过头了,因为我必须对每个数字进行多次操作。

有更好的办法吗?谢谢。


问题答案:

使用str_replace()去除点并不过分。

$string_number = '1.512.523,55';
// NOTE: You don't really have to use floatval() here, it's just to prove that it's a legitimate float value.
$number = floatval(str_replace(',', '.', str_replace('.', '', $string_number)));

// At this point, $number is a "natural" float.
print $number;

几乎可以肯定,这是执行此操作所需的CPU最少的方法,而且很有可能即使您使用一些高级功能也可以做到这一点。



 类似资料:
  • 如标题所示,我希望将逗号小数(法属加拿大系统)转换为VBA的周期小数。 除此之外, 它必须转换第3和第4列 这些列中的一些单元格是空的(我不是说所有小数以下的空单元格,而是介于两者之间的单元格) 小数是字符串 下图中的行数仅供示例之用。它们可能要多得多。 小数也因表而异(银行对账单对银行对账单),所以我不想要只适用于这些数字的代码。 小数分隔符是"," 组分隔符为" 最后,一些我并不想要的图片(请

  • 问题内容: 我有一个必须解析的二进制文件,并且正在使用Python。有没有办法占用4个字节并将其转换为单个精度浮点数? 问题答案:

  • 问题内容: 我正在使用导入以下的CSV文件: CSV文件示例: 问题是,当我稍后在代码中尝试使用这些值时,出现此错误: 错误是因为我要使用的数字不是用点()作为小数点分隔符而是用逗号()书写。手动将逗号更改为点后,我的程序可以工作。 我无法更改输入格式,因此必须替换DataFrame中的逗号才能使代码正常工作,我希望python无需手动执行此操作。你有什么建议吗? 问题答案: 为此有一个参数:do

  • 问题内容: 如何在Python中转换类似float的字符串? 问题答案: 只需删除带有:

  • 问题内容: 有点像这个问题,但是相反。 给定类似,或的字符串,将其转换为浮点数的最佳方法是什么?我正在考虑根据情况使用正则表达式,但是也许有人知道更好的方法或预先存在的解决方案。我希望可以使用,但是我认为第3种情况可以避免这种情况。 问题答案: 我稍微调整了詹姆斯的回答。 http://ideone.com/ItifKv

  • 问题内容: 正如标题所说。我不认为有可能这样做,但如果可以告诉我。 这是我正在编写的bukkit(minecraft服务器)插件所必需的。我要执行一个命令:tnt [power]。电源是我想转换为浮点数的返回字符串。 谢谢 问题答案: 用于进行转换。 和之间的区别只是回报。如果需要(对象),请使用前者;如果要数字,请使用后者。