Home  >  Article  >  Backend Development  >  How to get only two decimal places in php

How to get only two decimal places in php

藏色散人
藏色散人Original
2021-06-17 09:54:0814438browse

php method to only take two decimal places: 1. Use round to round floating point numbers; 2. Use sprintf to format strings; 3. Use thousands grouping to format numbers.

How to get only two decimal places in php

The operating environment of this article: Windows 7 system, PHP version 7.1, DELL G3 computer

Why does php only take two decimal places? Several ways to retain two decimal places in PHP

The code is as follows:

$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 numbers (prices) retain two decimal places

Let’s take a look at the pairs in PHP The price calculation or price display of some products needs to be accurate to two digits after the decimal point, which is our usual unit of cents in RMB. So how to display the price of the product in PHP and retain the unit of cents? The following tutorial will explain it.

php product price, php retains two decimal places, php product price display

PHP number_format() function

number_format(): The function can be grouped by thousands Format numbers.

Syntax:

number_format(number,decimals,decimalpoint,separator)

Parameters:

number: required. The number to format.

decimals: optional. Specify the number of decimal places.

decimalpoint: optional. Specifies the string used as the decimal point.

separator: optional. Specifies the string used as thousands separator.

Example: PHP product price is in yuan, with two decimal places

Code:

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

Output result:

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

Summary of the above example:

1. Whether it is a numeric type or a string type number, it can be operated by the number_format() function

2. When number_format() operates numbers that do not contain decimals, if it is set How many decimals there are will be added in the form of 0.

3. If you operate a number with many decimal places, the nearest digit will be rounded off.

4. If number_format() is not set, the third and fourth Parameters, if the integer part is more than 3 digits, then starting from the left of the decimal point and going to the right, every three digits are separated by ','

Example PHP number_format() Remove the dividing symbols of the integer part

Code:

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

Output result:

1000000.00
1x000x000.00
1x000x000y00

Summary of the above example:

1. The third parameter of the number_format() function can replace the display method of small numbers, such as Replace the decimal point with y

2. The fourth parameter of the number_format() function can replace the thousandth separator symbol of the integer part, such as empty, or X

3. Please note What is interesting is that the third parameter and the fourth parameter of the number_format() function coexist, and you cannot fill in only one.

Recommended learning: "PHP Video Tutorial"

The above is the detailed content of How to get only two decimal places in php. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn