2015-05-08 19 views
-3

我有一个变量$var1 = "21,855.00"。我已经尝试使用preg_replacestr_replace,但我无法真正实现我所期望的。 我希望作为21855来回应。我怎样才能使用PHP?如何将字符串转换为PHP中的整数

+1

'$ VAR1 = 21,855.00'是无效的代码。你的意思是说你有一个* string *'“21,855.00”'? – deceze

+0

是的,我很抱歉。谢谢你的纠正。 –

+1

强调用真实代码而不是假设代码问问题有多重要。你只是提出了一个9票的答案没用。如果您的拼写错误仍然存​​在,但您的拼写错误在这些引号中。 –

回答

2

快就注意到:

如果它的字面string,如:

$var1 = '21,855.00'; // string(9) "21,855.00" 

你也可以这样来做:

$var1 = '21,855.00'; 
$var2 = filter_var(strtok($var1, '.'), FILTER_SANITIZE_NUMBER_INT); 
echo $var2; // 21855 

Sample Output

或用正则表达式:

$var1 = '21,855.00'; 
$var2 = (int) preg_replace('/(?<=\d),(?=\d{3}\b)/','', $var1); 
var_dump($var2); // int(21855) 
9

使用intval()

$var1 = 21855.00; 
$varInt= intval($var1); 

你也可以做

$varInt= (int)$var1; 

您还可以使用floor()向下舍

$varInt= floor($var1); 

您还可以使用ceil()围捕

$varInt= ceil($var1); 

你也可以做

settype($var1, "integer"); 

哈哈我必须有很多的时间可以浪费今天:)

0

你也可以试试这个 -

$var1 = (int) 21855.00; 
1

你可以用不同的方法做到这一点;

$myFloat = 123456.78; 
$firstWay = intval($myFloat); 
$secondWay= (int) $myFloat; 

您可以使用INTVAL()作为手帕陈述或投用(int)为整型值。我相信使用(int) $myFloat比使用intval($myFloat)

-1

你可以尝试INTVAL() 如:

$val = 21855.00; 
$val_int = intval($val);