【问题标题】:Php Transform string to float adds decimal placesphp 将字符串转换为浮点数添加小数位
【发布时间】:2020-08-29 09:46:21
【问题描述】:

我想知道为什么会发生这种情况,因为这对我来说似乎很奇怪。 在表单中提交的价格看起来像这样1.188,00 €(这是一个例子!)

使用表单中的原始数据,转换结果为1188.008364

$colorP = str_replace(',', '.', str_replace('.', '', $value['_gravity_form_lead']['92.2'])); 
$colorP = preg_replace('/\s+/', '', $colorP);
$colorP = preg_replace('/[^0-9\.]/ui','',$colorP);

echo $colorP; // result-> 1188.008364

额外的十进制数字来自哪里? 很确定这可以进行不同的转换,所以我愿意接受建议。

非常感谢您的回答

【问题讨论】:

  • 您在第一行缺少),因此添加代码后代码无法运行,对我来说运行完美。
  • 抱歉,是复制/粘贴错误。用更好的解释改变了它

标签: php string transform rounding currency


【解决方案1】:

附加十进制数字的原因是转换结果为float,这不是很精确。 PHP Float description

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-06-30
    • 2019-11-15
    • 2011-11-25
    • 1970-01-01
    • 1970-01-01
    • 2019-08-13
    • 2014-09-25
    • 1970-01-01
    相关资源
    最近更新 更多