2013-07-10 155 views
-2

我需要轉換字符串,例如37152548至371525,48或371525.48 我正在嘗試number_format()floatval()但未成功。將字符串轉換爲PHP中的雙精度值

$var = '37152548'; 

$var = number_format($var, 2); 

echo $var; // output 37,152,548.00 
+1

嘗試通過100 :) – waldol1

+1

分割你的意思'$ VAR/100'? – Antony

+1

'number_format'返回一個字符串。 'floatval'正常工作;它會返回你給它的值的「浮點數」。你究竟想要做什麼? –

回答

0

PHP會將字符串轉換爲數字。至於小數位,因爲你說:

我需要轉換爲字符串,如37152548到371525,48或371525.48

...好,除以100:

$var = '37152548'; 
echo $var/100; //outputs 371525.48 

如果你想確保你有一個數字,然後用floatval(因爲這一翻譯返回一個字符串的數字,如number_format):

$var = '37152548'; 
$var = floatval($var)/100; 
echo $var; //outputs: 371525.48 
echo '<br>'; //new line 
//And you can do calculations: 
echo $var - 500; //outputs: 371025.48 

floatval你的字符串轉換爲浮點變量。注意:PHP不區分單精度和雙精度,事實上doubleval只是floatval的別名。

1

它工作正常。 37152548是一個整數,所以數字格式將只添加逗號。如果你想在最後2個數字是在小數點的另一邊,則需要100

$var = number_format($var/100, 2); 

如果無功是「371525.48」來劃分它,那麼它會格式化你想要的方式。如果你想它沒有逗號,然後嘗試

$var = number_format($var/100, 2,'.',''); 
2

您可以嘗試

$var = '37152548'; 
echo number_format($var/100, 2, ".", ""); 

輸出

371525.48 
相關問題