0

PHPの変数の型について簡単な質問があります。配列には 2 つの値があります。

$row['DS'] // type :float (with one decimal like 12.2)
$row['TC'] // type :float (with one decimal like 24.2)

私が実際にやろうとしていることは、以下の計算を行うことです:

$row['TC'] / $row['DS'] // $row['DS'] need to be as integer (without point,like 12)

結果は (2.32) のように小数点以下 2 桁になるはずです。その通りにしてみました

$DSF = number_format($row['DS'],0);
$ConF = $row['TC'] / $DSF ;
echo number_format($conF,2); 

しかし、それは間違った結果を返します。例えば ​​:

$row['DS'] = 59,009.3 ---> after change the format is change to 59,009
$row['TC'] = 190.0
$ConF = 190.0  /  59,009

それは000.223(この数値の周りの何か)である必要があり、0を取得することを期待しています(使用してフォーマットを変更した後 number_format($conF,2)、代わりにプログラムは数値3.22を返します私は何を間違っていますか?

4

2 に答える 2

1

この関数number_format()は、数値を実際に必要な数値に丸めるのではなく、数値をカンマ形式の表現にフォーマットするために使用されます。

探している関数はroundで、指定された小数点以下の桁数に float を返します。

例えば:

$yourVar=round($row['TC']/$row['DS'],2);

これは、$yourVar小数点以下 2 桁に丸められた除算の値になることを意味します。

number_format()この関数は、人間にわかりやすい数字を最後に表示する場合にのみ使用してください。

于 2012-08-02T11:57:19.303 に答える
0

たとえば、次のように、計算で右にtype casting変換するため$row['DS']に使用できます。integer

$row['TC'] / (int)$row['DS']

また

$row['TC'] / intval($row['DS'])

于 2012-08-02T12:30:56.630 に答える