PHP: 数字价格格式化 保留两位小数

我们需要将价格保留两位小数比如12元需要表示为¥12.00,这时就需要使用number_format函数,使用方法为number_format(12,2),如果需要四舍五入,可以使用round函数配合。

number_format
格式化数字字串。

语法: string number_format(float number, int [decimals], string [dec_point], string [thousands_sep]);
传回值: 字串
函式种类: 数学运算
内容说明
本函式用来将浮点参数 number 格式化。若没加参数 decimals 则传回的字串只要整数部份,加了此参数才依参数指定的小数点位数传回。参 数 dec_point 表示小数点的表示方式方法,内定值是 ”.”,若需要转换成其它的小数点就可以在这个参数改掉。参 数 thousands_sep 为整数部份每三位的分隔符号,内定值是 ”,”。本函式最特别的地方就是参数数目,最少要有一个,也就是欲格式化的字 串;也可以有二个或者四个参数,但不能用三个参数。值得注意的是指定小数点的位数之后的数字直接舍弃,没有四舍五入的情形。

 描述
number

必需。要格式化的数字。

如果未设置其他参数,则数字会被格式化为不带小数点且以逗号 (,) 作为分隔符。

decimals可选。规定多少个小数。如果设置了该参数,则使用点号 (.) 作为小数点来格式化数字。
decimalpoint可选。规定用作小数点的字符串。
separator

可选。规定用作千位分隔符的字符串。

仅使用该参数的第一个字符。比如 "xyz" 仅输出 "x"。

注释:如果设置了该参数,那么所有其他参数都是必需的。

例子:

1

2

3

4

5

6

7

<?php

  echo number_format("1000000");

  echo number_format("1000000",2);

  echo number_format("1000000",2,",",".");

  echo number_format("1000000",2,"*",".");

  echo number_format("1000000",2,".","");

?>

 

输出:

1,000,000 
1,000,000.00 
1.000.000,00
1.000.000*00
1000000.00

 

有意思的number_format 
number_format(number,decimals,decimalpoint,separator) 

有四个参数, 

第一个和第二个参数是必须的,第三个和第四个是可选项。但实际测试中第三个和第四个这两个参数必须同时存在,也就是要么都设置,要么都不设置。 

没有设置第三个和第四个参数: 

Number_format(13526, 2); echo 13,526.00; 

如果你将这处理后的数字去累加,则只会得到一个13!。 

设置了第三个和第四个参数

1

Number_format(23125, 2, '.',''); echo 23125.00;


这时再对这处理后的数字进行运算的话则会正确执行! 

该函数的第三个参数表示 ‘小数点'位置用什么来表示,可以默认 . ,也可以设置成‘,'等其他符号。Ps:但我相信没人会这么干。 
第四个则表示每隔 千位时用什么来分割数字。如果没什么特殊要求,又要进行运算的话最好设置为空。

原文地址:https://www.cnblogs.com/lhm166/articles/5789489.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值