Php 如何四舍五入到小数点后两位
我想在PHP中将数字四舍五入到小数点后两位 PHP代码:Php 如何四舍五入到小数点后两位,php,drupal,decimal,drupal-webform,Php,Drupal,Decimal,Drupal Webform,我想在PHP中将数字四舍五入到小数点后两位 PHP代码: $bmi = ($form_state[values][submitted][1] * 703) / ($form_state[values][submitted][10] * $form_state[values][submitted][10]); $form_values['submitted'][11] = $bmi; $form_values['submitted_tree'][11] = $bmi; 将变量$bmi四
$bmi = ($form_state[values][submitted][1] * 703) /
($form_state[values][submitted][10] * $form_state[values][submitted][10]);
$form_values['submitted'][11] = $bmi;
$form_values['submitted_tree'][11] = $bmi;
将变量$bmi
四舍五入的最佳方法是什么
round ($your_variable, 2)
PHP
round
将取一个数字,并将其四舍五入到2个单位的精度:
$foo = 105.5555;
echo round($foo, 2); //prints 105.56
$bmi = "52.44444";
echo round($bmi, 2); //prints 52.44
或字符串,并将其四舍五入到2个单位的精度:
$foo = 105.5555;
echo round($foo, 2); //prints 105.56
$bmi = "52.44444";
echo round($bmi, 2); //prints 52.44
将精度四舍五入到两个单位,并按以下方式强制达到最小精度:
$foo = 105.5555;
echo number_format(round($foo, 2), 4, '.', ''); //prints 105.5600
编辑3:
如果我正确理解了你的代码,应该是这样的:
<?php
//Calculate $bmi
$bmi = ($form_state[values][submitted][1] * 703) /
($form_state[values][submitted][10] * $form_state[values][submitted][10]);
//Fill unrounded $bmi var into array for whatever reason
$form_values['submitted'][11] = $bmi;
//Fill unrounded $bmi var into array for whatever reason
$form_values['submitted_tree'][11] = $bmi;
//$bmi contains for example 24.332423
$bmi = round($bmi,2);
//Should output 24.33
echo $bmi;
?>
是的,只要在php.net搜索框中键入“round”就可以立即获得此类主题的结果。谢谢Greg,我之前确实尝试过这个方法,但它不起作用……如果您向函数
round
传递一个数字,那么它就会起作用。它给你带来了什么回报?也许你的问题不在于舍入的用法。Abs编辑了上面的问题。在你尝试舍入值之前,你能举个例子说明$bmi中存储了什么类型的变量(变量的值)?@jeremy说“它不起作用”这样的短语对任何人都没有帮助。为了充分利用本网站(以及生活中的许多其他东西),请提供输入和输出(实际和预期)。我保证,如果您尽可能简单地理解您的问题,您将在不到5分钟内得到您的答案。Inetersting Alex thankyopu感谢您花时间尝试这一点,我尝试了这两种方法,但两种方法似乎都不起作用-可能是因为$bmi未被视为数值吗?“两种方法似乎都不起作用”请告诉我们到底什么不起作用。它倒错了吗?它一点也不响吗?我们需要一些信息来帮助你。请发布您使用的一些测试值。输出完全相同(28.69387755102),因此根本没有舍入。感谢Abs,它有一些小问题,但我肯定我会找到正确的代码。