-1

英語のお金の形式で機能させるためにパーセントカウンター関数を取得するのに問題があります

function calc_proc($price, $savings) {
    $old_price = $price + $savings;

    return (number_format($savings / ($old_price/100)));
}

カンマのために私は悪い値を取得しています

4

5 に答える 5

2

英語のお金の形式は次のようなものですか:253,17?

はいの場合は、次のようにします。

str_replace(',', '.', $value); 

その後、あなたは安全です。

于 2012-09-14T09:22:43.523 に答える
1

まず、財務計算で文字列を使用する必要はありませんが、それでも使用する必要がある場合は、コンマをドットに置き換える必要があります。例えば、

$a = '1,5';
$b = '2,1';
echo $a + $b; //result 3

// you can avoid this, by replacing comma:
$a = str_replace(',', '.', $a);
//same for $b

別の解決策はロケールを設定することですが、その後はドットに問題が発生します。

関数では、次のようになります。

function calc_proc($price, $savings) {
    $price = str_replace(',', '.', $price);
    $savings = str_replace(',', '.', $savings);
    $old_price = (float)$price + (float)$savings;

    return (number_format($savings / ($old_price/100)));
}
于 2012-09-14T09:21:32.870 に答える
0
function percent($price, $savings) {
  $count1 = str_replace(',', '.', $price)/ $savings;
  $count2 = $count1 * 100;
  $count = number_format($count2, 0);
  return $count;
}
于 2012-09-14T09:28:17.097 に答える
0

setlocale(constant, location)スクリプトの最初から試してください。あなたの場合:

setlocale(LC_ALL,"En-Us");
于 2012-09-14T09:22:56.523 に答える
0

パラメーターのないPHPnumber_format()関数は、コンマ付きの英語形式を返します。代わりに以下を使用する必要があります。

return round($savings / ($old_price/100), 0);

$old_priceが0にならないようにしてください

于 2012-09-14T09:24:20.073 に答える