PHP - 将字符串转换为具有千位分隔符支持的整数

时间:2017-01-02 20:53:28

标签: php type-conversion

要么我用Google搜索错误,要么我是第一个要求实际上非常简单的功能。

我的字符串如“18.439”,“500”,“20.000”需要转换为整数:18439,500,20000(我居住的地方,我们使用分数作为千位分隔符)。

我希望intval()能够处理这个问题,就像在C#中一样,你可以添加第二个参数NumberStyles.AllowThousands,它完美无缺。

2 个答案:

答案 0 :(得分:0)

您可以使用str_replace function

$a = '18.439';
$a = (float) str_replace(['.', ','], ['', '.'], $a);
var_dump($a);

它会将字符串中的每个.替换为''(空字符串),并将每个,替换为.,然后将结果转换为浮动。

如果您需要以int结果,可以使用:

$a = '18.439';
$a = (int) str_replace(['.', ','], ['', '.'], $a);
var_dump($a);

答案 1 :(得分:0)

您可以在PHP中使用str_replace。像这样。

intval(str_replace('.','',$string))

假设你只处理整数。