欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

PHP数字价格格式化,数字转字符串,保留两位小数 有大用

PHP保留两位小数的几种方法

复制代码
    $num = 10.4567;
     
    //第一种:利用round()对浮点数进行四舍五入
    echo round($num,2); //10.46
     
    //第二种:利用sprintf格式化字符串
    $format_num = sprintf("%.2f",$num);
    echo $format_num; //10.46
     
    //第三种:利用千位分组来格式化数字的函数number_format()
    echo number_format($num, 2); //10.46
    //或者如下
    echo number_format($num, 2, '.', ''); //10/46
复制代码

 

分类: php

来自  https://www.cnblogs.com/zouzhe0/p/6197594.html


php里一变量是string型,想要转化为float并保留小数点后两位,即1234变为1234.00,要怎么做?

 我来答
举报浏览 5137 次
周阳002 
知道合伙人互联网行家 2017-04-13
1
2
3
4
<?php 
 $a '1234'
//使用number_format格式化
echo number_format((float)$a,2); //输出1,234.00

来自  https://zhidao.baidu.com/question/682016779319181572.html



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


普通分类: