将PHP字符串读为整数

时间:2018-05-30 22:43:54

标签: php

这似乎是一个基本问题,我确信已在其他地方得到解答。但是,由于我无法找到答案,我希望有人可以提供帮助。

我有一个变量:$_POST['totalrevenue'],它从PHP页面(home.php)通过ajax传递到另一个PHP页面(ajax.php)。

值为2,900,应该作为整数读取,但在ajax.php上读取为字符串。

settype($_POST['totalrevenue'], int) 

将字符串转换为具有新值2的整数。

在PHP中保留初始值(2,900)的同时将此字符串转换为整数的最佳方法是什么?

2 个答案:

答案 0 :(得分:6)

你的问题是" 2,900"是不是一个数字 - 它是一个字符串。那个逗号毁掉了所有的魔法。

将逗号转换为点,现在(float)和floatval()或intval()将正确处理它:

$value = (float)str_replace(',', '.', $oldValue);

或者如果','是千位分隔符(我也不能告诉它),用空字符串替换它。 ' 2900'成为2900,这就是你所需要的:

$value = (int)str_replace(',', '', $oldValue);

(在重新阅读你的问题时,你是在后一种情况下。对于"浮点"字符串,上述情况仍然适用。

答案 1 :(得分:0)

尝试使用(int)或(float)在变量之前转换类型。

$var = (int)str_replace(',', '.', $prevVar); /* for float */

$var = (float)str_replace(',', '.', $prevVar); /* for int */