我想使用“ math.sqrt”,即使对于像“ 4”这样的数字,我的输出也应具有小数点后4位。有什么功能或方法吗? 我使用了“ round(num_sqrt,4)”,但是没有用。
我的输入就像: 1个 2 3 19 输出必须是: 1.0000 1.4142 1.7320 4.3588 我的输出是: 1.0 1.4142 1.7320 4.3588
答案 0 :(得分:1)
尝试一下
from decimal import Decimal
import math
# example with sqrt function
y = Decimal(math.sqrt(4))
z = round(y, 4)
print(z) # output 2.0000
# First we take a float and convert it to a decimal
x = Decimal(16.0/7)
print(x)
# Then we round it to 4 places
output = round(x,4)
print(output) # outpun 2.2857
答案 1 :(得分:0)
如果您确实需要不必要的零,请尝试以下操作:
def format_floats(reference, values): formatted_values = [] for i in range(len(values)): length = len(str(reference)[str(reference).find("."):])-1 new_float = str(round(values[i], length)) new_float += "0"*(len(str(reference))-len(new_float)) formatted_values.append(new_float) return formatted_values if __name__ == '__main__': reference = 0.12345 values = [1.04, 2.045, 2.0] print(format_floats(reference, values))
输出:['1.04000','2.04500','2.00000']