我试着把两个浮点数的公式整整,但是它输出的是不带小数的,它只是把它舍入最近的数,例如21.3到21。当我加上",2“时,应该把它设为最接近的10圈。
新代码:
def add(op1,op2):
result = int(round(op1 + op2, -1))
print("")
print ("Output: %d + %d = %d" % (op1, op2, result))输出:
Output: 10 + 10 = 20新的
输出:
Output: 10.3 + 10.9 = 21.0代码:
def add(op1,op2):
result = int(round(op1 + op2, 1))
print("")
print ("Output: %0.1f + %0.1f = %0.1f" % (op1, op2, result))发布于 2013-10-17 16:15:54
下面是如何将一个数字相加到最近的十分之一:
>>> round(21.3331, 1)
21.3下面是如何打印带有一个小数点的浮点数:
>>> print "%.1f" % (21.3331,)
21.3请注意,如果使用%d执行此操作,它将被打印为四舍五入到最接近的整数:
>>> print "%d" % (21.3331,)
21有关字符串格式操作文档格式如何工作的更多信息,请参见%。
发布于 2014-09-22 01:50:10
这是最简单的一个。
roundf(1.345 * 100) / 100
你只需把它乘以100,再除以100,这就使数值保持在小数点后的2位。这应该比将其转换为字符串和返回更有效。
发布于 2013-10-17 16:18:37
你正在转换为int。这意味着您的结果是一个int。ints没有小数部分。此外,"%d"意味着格式为int,因此在打印之前它将隐式转换为int。在格式字符串中使用"%f"。
def add(op1,op2):
result = round(op1 + op2, 1)
print("")
print ("Output: %0.1f + %0.1f = %0.1f" % (op1, op2, result))https://stackoverflow.com/questions/19431674
复制相似问题