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

ps:PHP 数字(价格)保留两位小数

下面看下PHP中对一些商品的价格计算或价格的的展示,需要精确到小数点后的两位数字,也就是我们平时RMB中的分的单位。那在PHP中如何展示商品的价格,并保留到分的单位的呢?下面教程就来讲解一下。

php 商品价格,php保留两位小数,php商品价格展示

PHP number_format() 函数

number_format():函数可以通过千位分组的形式来格式化数字。

语法:

number_format(number,decimals,decimalpoint,separator)

参数:

number:必需。要格式化的数字。
decimals:可选。规定多少个小数。
decimalpoint:可选。规定用作小数点的字符串。
separator:可选。规定用作千位分隔符的字符串。

例:PHP商品价格以元为单位,保留两位小数

代码:

<?php
$a = 10;
echo number_format($a,'2');
$b = 1000000;
echo number_format($b,'2');
$c = 5458.5684;
echo number_format($c,'2');
$d = '1254.8963';
echo number_format($d,'2');
$e = '88.9643';
echo number_format($e,'2');
?>

输出结果:

10.00
1,000,000.00
5,458.57
1,254.90
88.96

以上示例总结:

1、无论是数字类型或是字符串类型的数字,都可以被 number_format() 函数操作
2、number_format() 在操作不含有小数的数字时,如果设置了有多小个小数,会以 0 的形式补充。
3、如果操作带有多少小数的数字,会以四舍五入的方式进行最近一位的取值
4、如果不设置 number_format() 第三个和第四个参数,整数部分如果大于3位,那么从小数点左边向右开始,每三位都用','号分割

例 PHP number_format() 去掉整数部分的分割符号

代码:

<?php
echo number_format("1000000",2,".","");
echo number_format("1000000",2,".","x");
echo number_format("1000000",2,"y","x");
?>

输出结果:

1000000.00
1x000x000.00
1x000x000y00

以上示例总结:

1、number_format() 函数的第三个参数,可以替换小数字的展示方式,比如把小数点换成y
2、number_format() 函数的第四个参数,可以替换整数部分的千分位分割符号,比如为空,或为X
3、要注意的是,number_format() 函数的第三个参数与第四个参数是共同存在的,不能只填写一个。

以上所述是小编给大家介绍的PHP保留两位小数的几种方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

(0)

相关推荐

  • PHP保留两位小数并且四舍五入及不四舍五入的方法

    php保留两位小数并且四舍五入 复制代码 代码如下: $num = 123213.666666; echo sprintf("%.2f", $num); php保留两位小数并且不四舍五入 复制代码 代码如下: $num = 123213.666666; echo sprintf("%.2f",substr(sprintf("%.3f", $num), 0, -2)); php进一法取整 复制代码 代码如下: echo ceil(4.3); //

  • 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 //或者如下 ec

  • Java强制保留两位小数的四种方法案例详解

    方法一:String的format方法(推荐) double f = 111231.5585; System.out.println(String.format("%.2f", f)); 方法二:DecimalFormat的format方法 double f = 111231.5585; DecimalFormat df = new DecimalFormat("#.00"); System.out.println(df.format(f)); 以下内容了解即可,可

  • 浅谈Java中浮点型数据保留两位小数的四种方法

    目录 一.String类的方式 二.DecimalFormat类 三.BigDecimal类进行数据处理 四.NumberFormat类进行数据处理 总结一下 今天在进行开发的过程中遇到了一个小问题,是关于如何将double类型的数据保留两位小数.突然发现这方面有一点欠缺,就来总结一下. 一.String类的方式 该方式是是使用String的format()方法来实现的,该方法的作用就是规范数据的格式,第一个参数传入一个字符串来表示输出的数据格式,如保留两位小数就使用"%.2f",第二

  • Java中保留两位小数的四种方法实现实例

    在写程序的时候,有时候可能需要设置小数的位数,那么java中有哪几种保留小数位数的方法呢?本文以两位小数为例给出四种方法. package CodeJava_Leet; import java.math.BigDecimal; import java.text.DecimalFormat; import java.text.NumberFormat; /** * Created by Yechengpeng on 2016-08-14. */ public class Test { public

  • java 保留两位小数的几种方法

    1.代码: import java.math.BigDecimal; import java.text.DecimalFormat; import java.text.NumberFormat; public class format { double f = 111231.5585; public void m1() { BigDecimal bg = new BigDecimal(f); double f1 = bg.setScale(2, BigDecimal.ROUND_HALF_UP)

  • Vue toFixed保留两位小数的3种方式

    第一种: 直接写在js里面,这是最简单的 val.toFixed(2) 第二种: 在ElementUi表格中使用 第三种: 在取值符号中使用 {{}} 定义一个方法 towNumber(val) { return val.toFixed(2) } 使用 {{ towNumber(row.equiValue) }} 补充知识:vue中提示toFixed不是函数 vue中toFixed获取小数点后两位 错误提示: .toFixed is not a function 解决办法: Number(_th

  • Java保留两位小数的几种写法总结

    本文列举了几个方法: 1. 使用java.math.BigDecimal 2. 使用java.text.DecimalFormat 3. 使用java.text.NumberFormat 4. 使用java.util.Formatter 5. 使用String.format 文章末尾给大家分享了更多的拓展知识,另外可以自己实现或者借用封装好的类库来实现,在这篇文章中就不一一列举了. 下面来看看详细的介绍. 一.使用BigDecimal,保留小数点后两位 public static String

  • vue 保留两位小数 不能直接用toFixed(2) 的解决

    用vue做项目的时候多多少少都会遇到这个问题 刚开始我是用toFixed()这个方法来写的 效果是有的 但是控制台一直是红红的围绕着我 突然想到 vue和jquery混搭 的 问题 于是乎 看了一下vue的开发文档 发现过滤器这个东东 并且可以自定义过滤器 js代码 html代码 虽然方法是这样的 但是在写的过程中还有页面上有效果 但是控制台一直红红的 于是我又仔细的看了一下文档 发现我没有把value转为Number类型 我上面放的直接是写好的代码 放心使用 ! 我写的是局部的过滤器 你如果很

  • java、freemarker保留两位小数

     一.Java保留2位小数 double acc = 22.4322; String accX = String.format("%.2f", acc); 二.freemarker保留两位小数 <#if centerFreeSize??> ${centerFreeSize?string("#.##")} <#else> 0.00 </#if> 补充:freemarker保留小数 freemarker保留两位小数 方法一 #{num

  • javascript实现保留两位小数的多种方法

    第一种方法:javascript实现保留两位小数一位自动补零代码实例: 第一种方法介绍一下如何实现对数字保留两位小数效果,如果数字的原本小数位数不到两位,那么缺少的就自动补零,这个也是为了统一的效果,先看代码实例: function returnFloat(value){ var value=Math.round(parseFloat(value)*100)/100; var xsd=value.toString().split("."); if(xsd.length==1){ val

随机推荐