0

私のデータベースから、25.30 のような 10 進数を取得します。

PHP では、25.30 * 6 のように 10 進数を掛けます。結果は 151.8 ですが、カンマが付きます。

問題は、結果が 151.8 のようなポイントではなくコンマになることです。

これを解決してポイントで結果を得る解決策はありますか?

4

2 に答える 2

2

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クラスの詳細については、こちら を参照ください
setlocalelocaleconv

ハッキーなクイックフィックスも次のようになります。

$formatted = sprintf('%.1f',25.30 * 6);

ただし、ロケールを設定する必要があるため、ロケールを設定することをお勧めします。setlocale(LC_ALL)また、ドキュメントに記載されているように、Windowsではシステムロケール設定を使用することに注意してください。

Windows では、setlocale(LC_ALL, '') は、システムの地域/言語設定 (コントロール パネルからアクセス可能) からロケール名を設定します。

于 2013-06-19T09:37:12.743 に答える
2

番号をフォーマットしたい。マニュアルから:

string number_format ( float $number , int $decimals = 0 , string $dec_point = '.' , string $thousands_sep = ',' )

たとえば、あなたの場合、これは次のようになります。

print number_format($number, 1, '.', ',');
于 2013-06-19T09:19:07.867 に答える