[英]Casting a value into FLOAT in PHP loses the decimal points. Basically turning the value into an 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
您可能正在使用逗号,而不是指向单独的小数。
"1,23"
(将被转换为1
)与"1.23"
(将被转换为1.23
)不同
在您的机器上安装正确的区域设置。 可能您已经安装了 IT(意大利)语言环境文件,并且有,
作为小数分隔符,因此强制转换不会“看到”您传递给它的浮点数。
setlocale(LC_ALL, 'en-US.utf8');
但是在代码中输入这一行是不够的。 您还必须安装语言环境文件。 更多信息: PHP setlocale 无效
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.