1

私は次の機能を持っています:

function getPostViews($postID){
    $count_key = 'post_views_count';
    $count = get_post_meta($postID, $count_key, true);
    if($count==''){
        delete_post_meta($postID, $count_key);
        add_post_meta($postID, $count_key, '0');
        return __('0 View','mm');
    }
    return $count. __(' Views','mm'); 
}

1000分の1の位にコンマを含めるように数値をフォーマットするにはどうすればよいですか?たとえば、50000は50,000になります。

4

5 に答える 5

3

使用number_format()

number_format($number);
于 2012-05-03T02:03:52.640 に答える
2

をご覧くださいnumber_format

例えば:

$number = 1234.56;

// english notation (default)
$english_format_number = number_format($number);
// 1,235

// French notation
$nombre_format_francais = number_format($number, 2, ',', ' ');
// 1 234,56

$number = 1234.5678;

// english notation without thousands separator
$english_format_number = number_format($number, 2, '.', '');
// 1234.57
于 2012-05-03T02:04:21.047 に答える
2

を使用できますnumber_format

于 2012-05-03T02:04:23.413 に答える
0
$number=number_format($number);
于 2012-05-03T02:03:39.223 に答える
0

あなたの数値フォーマットの使用はあなたが探している素晴らしいフォーマットを得るために正しいものでした。DBのフォーマットの変更に関して直面している問題は、数値をフォーマットしてそれ自体を再保存していることです。

例えば:

$count = 5000;
$count = number_format($count);
//$count is no longer equal to 5000, it is now a string 5,000

一時変数を使用してみてください。そうすれば、元の$ count変数は変更されず、データベースに書き戻すときに、希望の形式のままになります。

例えば:

$count = 5000;
$tmpCount = 0;
$tmpCount = number_format($count);
// $count is still 5000, and $tmpCount now holds the value 5,000.

コードの更新バージョン。コンマ区切りの値を保持するメタのみが必要だと思いますか?

    function setPostViews($postID) {
    //Set initial variables
    $count_key = 'post_views_count';
    $tmpCount = 0;
    $count = get_post_meta($postID, $count_key, true);

    if($count == '') {
        $count = 0;
        delete_post_meta($postID, $count_key);
        add_post_meta($postID, $count_key, '0');
    } else {
        $count++;
        //Set tmpCount variable to hold comma separated value
        $tmpCount = number_format($count);

        //Comma separated value is passed into your function
        update_post_meta($postID, $count_key, $tmpCount);
    }
}

それはあなたが望んでいたことでしたか?または、ユーザーに表示するときにこの数値のみをこの方法でフォーマットしたいが、データベースを適切な状態に保つ(コンマ区切りではない)場合は、データベースにクエリを実行した後、両方のデータベース値を保存し、コンマ区切りの変数をIとまったく同じように作成します上記を実行しました。次に、任意のdb関数で$ count変数を参照し、任意のユーザー出力関数で$tmpCount変数を使用します。

繰り返しになりますが、それがあなたの質問に答えることを願っています。そうでない場合は、明確にしてください。

于 2012-05-04T00:18:39.833 に答える