簡體   English   中英

在 PHP 中將值轉換為 FLOAT 會丟失小數點。 基本上將值轉換為 INT

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM