在PHP中四舍五入并显示数字
为了圆一个号码在PHP中可以使用的三大功能之一,这些都是round(),ceil()和floor()。所有这些函数均以数字作为输入,并将根据所使用的函数舍入该值。
要舍入到最接近的整数,请使用round()函数。
round(4.4); //returns4
为了圆下跌至最接近的整数使用的floor()功能。
floor(4.4); //returns4
为了圆达至最接近的整数使用的ceil()功能。
ceil(4.4); //returns5
请注意,由于数字存储在PHP中的方式不同,因此对4.5进行四舍五入会导致不一致的结果。这是因为它们在计算机上的存储方式。值4.5的实际值可能为4.4999999999999999999999或4.5000000000000000000001,因此当您尝试舍入该值时,可能会得到4或5。
为了解决这个问题,您可以在对数字进行四舍五入之前将其添加一个微小的值以充当缓冲区。
round(4.5+0.0000001);//returns5
该round()函数还接受第二个参数,该参数允许您设置要舍入到的小数位数。在这种情况下,round()将四舍五入到最接近的有效数字。
round(4.51234,2);//returns4.51
如果您只想打印该值而不是四舍五入,则可以使用许多函数来帮助您完成此操作。使用最简单的函数是number_format(),它还将添加数千个分隔符。number_format()接受4个参数,但只有第一个(数字)是强制性的。
number_format(123456.1234);//returns123,456
其他参数是
小数位-将值四舍五入到的小数位数
小数点-用作小数点的字符串。
千位分隔符-用作千位分隔符的字符串。
例如:
echo number_format(123456.123456,2,'POINT','COMMA'); //prints123COMMA456POINT12
money_format()函数稍微复杂一点,该函数需要两个参数,数字格式和值。此功能受语言环境设置的LC_MONETARY类别中设置的值影响。setlocale()在运行功能之前,通过使用来设置此值。有关格式字符串的更多信息,请访问PHP网站。
setlocale(LC_MONETARY, 'en_GB'); $formatString = '%i (after 17.5%% tax)'; echo money_format($formatString, 1234.12) . "\n"; //printsGBP1,234.12(after17.5%tax)
最后,您还可以使用该sprintf()函数设置字符串格式并返回输出。
echo sprintf("%.2f",123.11); //prints123.10