生成指定小数位数的随机数

import random


data= random.uniform(100, 200)  # 生成100-200的随机因子
# data = 15.80


# 生成随机两位小数

# 方法1:使用字符串格式化:str [保留两位小数,并做四舍五入处理]
data_format = '{:.2f}'.format(data)  # str类型-15.80

# 方法2:round内置函数,float[保留两位小数,并做四舍五入处理]
data_round = round(data, 2)  # 生成两位小数,遇到最后1位小数为0时,会输出:15.8(0舍去了)

# 方法3:decimal模块,Decimal[保留两位小数,并做四舍五入处理]
from decimal import Decimal
data_decimal=Decimal(data).quantize(Decimal("0.00")) # Decimal('15.80')


# 方法4:使用序列中切片,str[仅保留两位小数,无需四舍五入]
data_split = str(data).split('.')[0]+'.'+str(data).split('.')[1][:2] # 取整数.2位小数,15.8

# 方法5:使用re模块,str[仅保留两位小数,无需四舍五入]
import re
data_re = re.findall(r"\d{1,}?\.\d{2}", str(data))[0]  # data必须>=2位小数,且最后一位小数不为0

# 方法6:[仅保留两位小数,无需四舍五入]
data_int = int(data * 100) / 100 # 遇到最后1位小数为0时,会输出:15.8(0舍去了)

 

posted @ 2021-06-11 10:38  鲲尘轻杳  阅读(851)  评论(0编辑  收藏  举报