How to retain two decimal places in python? Summary of several methods!

Many friends may encounter the need to format and output data when learning python. The most common need is: retaining a few decimal places. Today, the editor will take how to retain two decimal places in Python as an example to introduce the method of data formatting in Python.

Use string formatting

Most languages ​​can use string formatting methods to achieve the effect of retaining two decimal places, and python is no exception:

a = 12.345
print("%.2f" % a) # %代表格式化输出,.2代表小数点后保留两位,f代表数据类型是浮点型

Use the round built-in function

Python has a built-in function called round, which can be used to format data. code show as below:

a = 12.345
a1 = round(a, 2) #将a通过round函数处理后赋值给a1,传入的2代表保留两位小数
print(a1)

Use the decimal module

Similar to Java, Python also provides a decimal module for precise calculations, and it can also format data for output. code show as below:

from decimal import Decimal
a = 12.345
Decimal(a).quantize(Decimal("0.00")) # 使用默认的进位方式(同round)“0.00”表示保留小数点后两位

Note: Python's round uses a special rounding method, which is somewhat similar to rounding, but to be precise, it should be called rounding to five. Interested friends can learn about numerical rounding and basic rounding.

The above is the conventional method of retaining two decimal places. Next, two unconventional methods are introduced (using string processing method, this method only retains two decimal places and does not round)

Using sequence slicing

The principle is simple, just find the decimal point and then slice it. code show as below:

a = 12.345
str(a).split('.')[0] + '.' + str(a).split('.')[1][:2] #使用序列切片的方式,切出小数点前的数据,还有小数点后两位的数据,然后进行拼装

use re module

Similar to slicing, but this time regular matching is used to locate the decimal point position.

import re
a = 12.345
re.findall(r"\d{1,}?\.\d{2}", str(a)) #使用正则匹配,将符合规则(一个小数点前有很多位数字,小数点后面只有两位数字的片段)字符串片段取出来

summary

The above are five ways to retain two decimal places in python. Each of these five methods has its own advantages and disadvantages, and readers can choose by themselves.

Guess you like

Origin blog.csdn.net/m0_69824302/article/details/132320677