php - 想要显示 float 后的 2 位数字

标签 php floating-point

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

例如。 $a = 2.200000 ==> 2.20

我正在使用 php 的 round 函数。 round 的问题是,如果我的数字是 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));

如果我的 float 是 2.2000000,我想输出。那么它应该返回我 2.20。但现在它返回我 2.2

最佳答案

这就是我认为你所要求的:

<?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'

我添加了两个测试用例

关于php - 想要显示 float 后的 2 位数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10425407/

相关文章:

javascript - JQuery AJAX - 发送带有附加文件的 JSONP 表单

php - 使 NAMESPACE 声明有条件?

c - sin(pi) 没有返回精确的零?

iphone - 如何在 iOS 中将 Float64 转换为 NSString

iphone - 舍入到 "beautiful"值

floating-point - 是否存在无效的浮点状态/值?

javascript - 如何通过超文本链接调用php函数

javascript - 下拉时更改事件

php - 将base64字符串安全地保存到php文件中

visual-c++ - fesetround 与 MSVC x64