在 PHP 中将值转换为 FLOAT 会丢失小数点。基本上将值转换为 INT

我正在调用一个 PHP 表单,浮点值被正确接收,但是如果我将它转换为 FLOAT,或者之后立即,该值将丢失所有小数点数字,我不希望这样。我尝试使用 floatval 但结果相同。


//code


$time_in_seconds = $_POST["time_in_seconds"];//form value is 1.23f


echo $time_in_seconds;//echo 1.23


$time_in_seconds = (float)$time_in_seconds;


echo $time_in_seconds;//echo 1


慕姐8265434
浏览 193回答 2
2回答

慕慕森

在您的机器上安装正确的语言环境设置。可能您已经安装了 IT(意大利)语言环境文件并且有,一个小数点分隔符,因此转换不会“看到”您传递给它的浮点数。setlocale(LC_ALL, 'en-US.utf8');但是将这一行输入到您的代码中是不够的。您还必须安装语言环境文件。

呼啦一阵风

您可能正在使用逗号而不是指向分隔的小数点。"1,23"(which will be cast to 1) 不同于"1.23"(which will be cast to 1.23)
打开App,查看更多内容
随时随地看视频慕课网APP