用php对除数进行四舍五入

用php对除数进行四舍五入,php,row,while-loop,echo,number-formatting,Php,Row,While Loop,Echo,Number Formatting,下面是我在while循环中使用的代码,用于在表行中显示一个数字,并在其旁边将其金额除以200('amount') 它可以去掉小数,除以200,但我想知道如何取整它 例如,如果我有850,它将回显“4”,但是如果数量超过900,它将回显“5”。我推测,如果超过200的一半,它将向上取整,但我如何才能将低于200的所有数据取整 while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { echo '<tr>'; ech

下面是我在while循环中使用的代码,用于在表行中显示一个数字,并在其旁边将其金额除以200('amount'

它可以去掉小数,除以200,但我想知道如何取整它

例如,如果我有850,它将回显“4”,但是如果数量超过900,它将回显“5”。我推测,如果超过200的一半,它将向上取整,但我如何才能将低于200的所有数据取整

while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
    echo '<tr>';
    echo '<td align="left"><strong>' . $row['name'] . '</strong></td> ';
    echo  '<td align="left">' . $row['amount'] . '</td>';
    echo  '<td align="center"><strong><font color="#be0f34">'; 
    echo number_format("{$row['amount']}"/200,0); 
    echo '</font></strong></td>';
    echo  '<td align="center">' . $row['date'] . '</td>
    </tr>
    ';
}
while($row=mysql\u fetch\u数组($result,mysql\u ASSOC)){
回声';
回显“”.$row['name']”。;
回显'.$row['amount'].';
回声“”;
回音编号_格式(“{$row['amount']}”/200,0);
回音“”;
回显'.$row['date'].'
';
}
干杯

使用
floor()

使用
floor()

您应该使用
floor()
而不是
number\u format()

您应该使用
floor()
而不是
number\u format()


在传递给
number\u format
的第一个参数中,不应该强制将类型转换为字符串。另外,第二个参数默认为零,因此不需要显式指定。您可以使用
number\u格式($row['amount']/200)在那一行

就你的问题而言,我收集到的信息是,当金额大于200时,你只想四舍五入,这样当金额大于等于100时,你就不会得到“1”。要做到这一点,您需要按照以下思路做一些事情:

$divided_amount = $row['amount'] / 200;
$divided_amount = floor($divided_amount) ? number_format($divided_amount) : '0';

// display code here

只有当分割的金额>=200时,才会使用
number\u格式(因此,四舍五入)。否则它将失效(因为我们刚刚测试过它,所以我们知道它将返回零)。

您不应该在传递给
number\u格式的第一个参数中强制将类型转换为字符串。另外,第二个参数默认为零,因此不需要显式指定。您可以使用
number\u格式($row['amount']/200)在那一行

就你的问题而言,我收集到的信息是,当金额大于200时,你只想四舍五入,这样当金额大于等于100时,你就不会得到“1”。要做到这一点,您需要按照以下思路做一些事情:

$divided_amount = $row['amount'] / 200;
$divided_amount = floor($divided_amount) ? number_format($divided_amount) : '0';

// display code here

只有当分割的金额>=200时,才会使用
number\u格式(因此,四舍五入)。否则,它将下降(因为我们刚刚测试过它,所以我们知道它将返回零)。

您是否预计在某个时候必须处理负数?如果是这样的话,您是希望它们转到下一个最低的数字(是-1.5转到-2)还是镜像正数(-1.5转到-1)?@Mark E:使用负数是没有意义的;)@不熟悉会计,是吗?@Mark E,我现在不会用负数。你认为在某个时候必须处理负数吗?如果是这样的话,您是希望它们转到下一个最低的数字(是-1.5转到-2)还是镜像正数(-1.5转到-1)?@Mark E:使用负数是没有意义的;)@不熟悉会计,是吗?@Mark E,我现在不会用负数
$divided_amount = $row['amount'] / 200;
$divided_amount = floor($divided_amount) ? number_format($divided_amount) : '0';

// display code here