我很难将传入的 argv[1] 转换为浮点数。我一直在尝试基本上传入任何 int 后跟小数,并将其向上/向下舍入到最接近的整数。(基本的入门python项目)我现在一直在尝试使用float,但无法弄清楚。
import sys
x = int(sys.argv[1])
num = x + .5
s = str(num())
point = s.find('.')
print s[:point]
if __name__ == "__main__":
x(int(sys.argv[1]))
编辑(当前代码,咖啡和清理之后):
import sys
def x(argument):
num = argument + .5
s = str(num())
point = s.find('.')
print s[:point]
if __name__ == "__main__":
x(int(round(float(sys.argv[1]))))
最终代码(信用归:NPE)
import sys
def x(argument):
print "Passed in value: " + str(argument)
num = argument + .5
print "Rounded whole number: " + str(int(num))
if __name__ == "__main__":
x(float(sys.argv[1]))