Loading

刷题笔记 - 2997.梯形面积

题目

2997.梯形面积

代码

h = (2 * 150) / 15
s = ((15 + 25) * h) / 2
print('%.2f' % s)

笔记

使用占位符方法保留小数

  1. %g,科学计数法输出小数,会舍弃无效的部分
print("%g"%(1.2000004))
print("%.2g"%(1.2000004))

# 输出结果
1.2
1.2
  1. %f,直接输出小数,不对无效数字进行处理
print("%f"%(1.4))
print("%.2f"%(1.4))
print("%f"%(1.2000004))
print("%.2f"%(1.2000004))

# 输出结果
1.400000 # 不限制位数时默认保留6位
1.40
1.200000
1.20
  1. %d,保留整数
print("%d"%(1.2000004))
print("%.2d"%(1.2000004))

# 输出结果
1
01
  1. %s,表示字符串占位
print("%s"%(1.2000004))

# 输出结果
1.2000004

使用round方法保留小数

语法

round( x [, n] ),round()可以对浮点数进行四舍五入取值。其中x表示待处理数值,n表示要保留的位数。

示例1

print(round(2.342343, 2))
print(round(2.345343, 2))
print(round(2.675, 2))
print(round(2.6753, 2))

# 输出结果
2.34
2.35
2.67
2.68

查阅相关资料了解,在计算机中,浮点数的精度不能准确表达,所以round()函数对小数部分进行了断截处理,所以会出现当保留位置后方有一位≥5的数是不进行四舍五入,有两位以上时才会进行四舍五入。

个人对此还是感到费解,所以暂且记录下来,在应对此类情况时注意这个问题。

示例2,当n=0时

print(round(123.45,0))
print(round(123.55,0))

# 输出结果
123.0
124.0

当n=0时,会对小数部分向整数部分四舍五入,最后返回一个浮点数。

示例3,当n=-1时

print(round(123.45,-1))
print(round(125.45,-1))
print(round(125.55,-1))

# 输出结果
120.0
130.0
130.0

当n=-1时,只对整数部分进行四舍五入,仍然返回一个浮点数。

参考资料

python保留2位小数

Python round() 函数 - 菜鸟教程

Python 中关于 round 函数的小坑 - 菜鸟教程

posted @ 2022-12-06 12:14  KoiC  阅读(37)  评论(0编辑  收藏  举报