[英]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.