私のデータベースから、25.30 のような 10 進数を取得します。
PHP では、25.30 * 6 のように 10 進数を掛けます。結果は 151.8 ですが、カンマが付きます。
問題は、結果が 151.8 のようなポイントではなくコンマになることです。
これを解決してポイントで結果を得る解決策はありますか?
私のデータベースから、25.30 のような 10 進数を取得します。
PHP では、25.30 * 6 のように 10 進数を掛けます。結果は 151.8 ですが、カンマが付きます。
問題は、結果が 151.8 のようなポイントではなくコンマになることです。
これを解決してポイントで結果を得る解決策はありますか?
try var_dump(localeconv());
、おそらくdecimal_point
キーが,
そうであることがわかります(PHP5.3> =の場合)locale_set_default('en_US');
(非推奨の)setlocale
関数を試すか使用しますsetlocale
::
setlocale(LC_NUMERIC, 'en_US');
//or custom:
$locale = localeconv();
$locale['decimal_point'] = '.';
$setlocale(LC_ALL, $locale);
Locale
クラスの詳細については、こちら
を参照してください。setlocale
localeconv
ハッキーなクイックフィックスも次のようになります。
$formatted = sprintf('%.1f',25.30 * 6);
ただし、ロケールを設定する必要があるため、ロケールを設定することをお勧めします。setlocale(LC_ALL)
また、ドキュメントに記載されているように、Windowsではシステムロケール設定を使用することに注意してください。
Windows では、setlocale(LC_ALL, '') は、システムの地域/言語設定 (コントロール パネルからアクセス可能) からロケール名を設定します。
番号をフォーマットしたい。マニュアルから:
string number_format ( float $number , int $decimals = 0 , string $dec_point = '.' , string $thousands_sep = ',' )
たとえば、あなたの場合、これは次のようになります。
print number_format($number, 1, '.', ',');