变量和值类型

时间:2012-08-02 11:50:23

标签: php

我有一个关于php中变量类型的简单问题。我的数组中有两个值:

$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)。我试着这样做

$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 我做错了什么?

2 个答案:

答案 0 :(得分:1)

函数number_format()用于将数字格式化为逗号样式表示,而不是实际将数字舍入到您想要的数字。

您正在寻找的函数是round,它将浮点数返回到指定的小数位数。

例如:

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

这意味着$yourVar将是除以小数点后两位的除法值。

您应该仅使用number_format()功能在最后显示人性化的数字。

答案 1 :(得分:0)

您可以在计算中使用type casting$row['DS']转换为integer,例如:

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

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