Php 将字符串转换为浮点数,增加了小数点。

问题描述 投票:-1回答:1

我想知道为什么会发生这种情况,因为我觉得很奇怪。在一个表格中,提交的价格是这样的。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个回答
0
投票

额外的小数点的原因是,转换的结果是 float 而这不是很精确。PHP Float描述

© www.soinside.com 2019 - 2024. All rights reserved.