我有一个关于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
我做错了什么?
答案 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'])