在PHP中将字符串转换为Integer?

fjnneemd  于 2022-10-30  发布在  PHP
关注(0)|答案(3)|浏览(207)

我想把"-$251"转换成整数-251,但是我在网上找不到任何东西。有没有办法把这个字符串转换成整数?
编码:

$str = "-$251";
echo (int) $str;

以下代码返回0

gdx19jrr

gdx19jrr1#

filter_var使用者

echo filter_var($str, FILTER_SANITIZE_NUMBER_INT);

https://3v4l.org/YtZiZ

gcuhipw9

gcuhipw92#

NumberFormatter class可以直接对此进行解析。

$num = "-$251";

$fmt = numfmt_create( 'en_US', NumberFormatter::CURRENCY);

$f = numfmt_parse_currency($fmt, $num, $curr);
var_dump($f, $curr);
//float(-251) string(3) "USD"

演示:https://3v4l.org/QFNTl

l7wslrjt

l7wslrjt3#

首先,“$-251”没有等价的整数。您指定的str变量不能有$符号。$符号将没有等价的整数。因此,该值将返回0。

$str = "$-251";
echo intval($str);

它将返回0。因为$没有等价的整数。但是

$str = "-251";
echo intval($str);

它将返回整数-251。

相关问题