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.
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,'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'); ?>
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!