浮点数的转换
def times(x,y):return(x*y)
a=times(3.14,5)
a=15.700000000000001
浮点数的小数点保留几位数如何实现呢?比如说这个时候我只想保留2位小数。 def times(x,y):
return(x*y)
a=times(3.14,5)
print("%.1f"% a)
限制一位小数
输出:15.7 这是Python吗?
如果是的话那么:
保留几位小数有一个很好用的函数round,可以将任意浮点数保留到指定位数。
例如你的例子可改为:
def times(x,y):
return(round(x*y),2));
a=times(3.14,5)
肖-肖 发表于 2021-4-5 21:18
这是Python吗?
如果是的话那么:
保留几位小数有一个很好用的函数round,可以将任意浮点数保留到指定位数 ...
我觉得是的
没见过其他的语言定义函数是 def 啊
而且函数还没有中括号的也没几个吧 # 方法 1
def times(x, y):
return round(x*y, 2)
a = times(3.14, 5)
print(a)
# 方法 2
def times1(x, y):
return x*y
b = times1(3.14, 5)
print("{:.2f}".format(b)) 昨非 发表于 2021-4-5 21:10
限制一位小数
输出:
谢谢啊 Daniel_Zhang 发表于 2021-4-5 22:43
谢谢! 肖-肖 发表于 2021-4-5 21:18
这是Python吗?
如果是的话那么:
保留几位小数有一个很好用的函数round,可以将任意浮点数保留到指定位数 ...
round((x*y),2)里边的2是什么意思啊?我试了一下,写成3,结果还是一样啊 江湖散人 发表于 2021-4-5 23:11
round((x*y),2)里边的2是什么意思啊?我试了一下,写成3,结果还是一样啊
https://www.runoob.com/python3/python3-func-number-round.html
因为你的数字是 15.700000000000001
所以在 round 里,不论是 2 还是 3,都是 15.70 或 15.700
round会抹掉小数末尾的 0,所以都是 15.7
页:
[1]