9

これを聞いて申し訳ありませんが、私はこれを得る解決策を見つけることができません->7,000から7000。

私はintval()とnumber_format()を使用していますが、7000ではなく7が表示されます。

$myVal = '7,000';
echo intval($myVal);

これは7を返します

同じことがnumber_format()にも当てはまります

私は何が間違っているのですか?

4

2 に答える 2

11

PHP >= 5.3 を使用している場合 (またはバージョン 1.0 以降の "intl" 拡張機能がインストールされている場合) は、このNumberFormatterクラスを使用してロケール固有の数値を解析することもできます。

$myVal = '7,000';
$nf = new NumberFormatter("en_EN", NumberFormatter::DECIMAL);

var_dump($nf->parse($myVal, NumberFormatter::TYPE_INT32));

# output: int(7000)

5.3 未満の PHP バージョンを使用している場合は、@KevinS を使用することをお勧めします。解決。

于 2012-06-14T04:43:22.263 に答える
10

intval()コンマがあるため、あなたが持っている文字列では機能しません。を使用して、次のようstr_replace()に呼び出すことで、コンマを削除できます。intval()

echo intval(str_replace(',', '', $myVal))

于 2012-06-14T04:28:49.533 に答える