python保留几位小数

  • 不进行四舍五入的方法 

decimal = 12.123456
#方法一:使用正则表达式(\.表示只能匹配到.    如果表达式里只写.表示匹配除了\n的任何字符)
import re
print(re.search(r"\d+\.\d{5}",str(decimal)).group())     #执行结果:12.12345

#方法二:使用序列中的切片
d1 = str(decimal).split(".")[0]     #d1="12"
d2 = str(decimal).split(".")[1]     #d2="123456"
d3 = d2[:5]       
print(float(d1+"."+d3))             #执行结果:12.12345

#方法三:放大指定的倍数,然后取整,然后再除以指定的倍数
print(int(decimal*100000)/100000)   #执行结果:12.12345

#方法四:使用函数str.partition("分隔符")
def get_specified_decimal(number,n):
    tuple1 = str(number).partition(".")    #返回的是一个3元的元组,第一个为分隔符左边的子串,第二个为分隔符本身,第三个为分隔符右边的子串
    return tuple1[0]+tuple1[1]+(tuple1[2]+"0"*n)[:n]    #(tuple1[2]+"0"*n):防止传入的小数位数小于要保留的位数 
print(get_specified_decimal(decimal,5))    #执行结果:12.12345
print(get_specified_decimal(12.12,5))      #执行结果:12.12000

 

  • 进行了四舍五入的方法

#方法一:使用字符串格式化("%.小数位数f" %数字)
print("%.5f" %decimal)          #执行结果:12.12346

#方法二:format(数字,".小数位数f")会进行四舍五入
print(format(decimal,".5f"))    #执行结果:12.12346

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值