想要在浮点后正好显示2位数

时间:2012-05-03 05:04:09

标签: php floating-point

我想将浮点后的8位浮点值转换为浮点后的2位数。

EG。 $ a = 2.200000 ==> 2.20

我正在使用php的圆形功能。圆的问题是,如果我的数字是2.200000,它将转换为2.2中的数字。我希望输出为2.20

任何人都可以提出可行的方法吗?

实际代码

$price = sprintf ("%.2f", round(($opt->price_value + ($opt->price_value * $this->row->prices[0]->taxes[0]->tax_rate)), 2));

如果我的浮点数是2.2000000,我想要出局。那它应该还给我2.20。但是现在它又回到了我的身上.2。

3 个答案:

答案 0 :(得分:17)

这就是我认为你要求的:

<?php

$a = 2.20032324;
$f = sprintf ("%.2f", $a);
echo "$a rounded to 2 decimal places is '$f'\n";

$a = 2.2000000;
$f = sprintf ("%.2f", $a);
echo "$a rounded to 2 decimal places is '$f'\n";

结果:

[wally@lenovoR61 ~]$ php t.php
2.20032324 rounded to 2 decimal places is '2.20'
2.2 rounded to 2 decimal places is '2.20'

我添加了两个测试用例

答案 1 :(得分:-1)

尝试以下代码,您可以获得结果。

       $a = 2.200000;
       echo number_format((float)$a,2,'.','');

答案 2 :(得分:-1)

尝试$val = round($a * 100)/100;