2015-06-01 34 views
0

我想用PHP中十进制数的精确值对数进行四舍五入。在PHP中舍入数

如:

1.399 => 1.39或363.3 => 363.30

我已经使用printf("%.2f", 1.399)number_format((float)$a,2,'.','')但得到的答复是1.40这是不正确的我。

+0

在1.399之后你需要1.39吗? – sujivasagam

+0

什么是正确的答案? –

+0

正确答案是1.39 –

回答

1

您可以使用floor()向下舍:

用PHP圆()和number_format沿
$number = 1.399; 
$roundedNumber = number_format(floor($number * 100)/100, 2); 
echo $roundedNumber; //Returns 1.39 
+0

如果我用这个函数产生两个数字,它不会加上 –

+0

$ number = 565656.3999; $ roundedNumber = number_format(floor($ number * 100)/ 100,2); $ number1 = 333656.3999; $ roundedNumber1 = number_format(floor($ number1 * 100)/ 100,2); echo $ sum = $ roundedNumber + $ roundedNumber1; –

+0

输出898不正确 –

-1

尝试PHP_ROUND_HALF_DOWN包括尾随零这样 回声number_format(圆(1.399,2,PHP_ROUND_HALF_DOWN),2 );

+0

将“363.30”填入数字会发生什么? – Daan

+0

如果我们添加number_format,那么它不会影响结尾的零。现在是否有任何错误来负面反馈? – sujivasagam

+0

我没有downvote。 – Daan