2

渡された argv[1] を浮動小数点数に変換するのに苦労しています。私は基本的に任意の int の後に小数を渡して、最も近い整数に切り上げる/切り下げることを試みてきました。(基本的なスターターpythonプロジェクト)フロートで少し遊んでみましたが、わかりません。

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]))
4

1 に答える 1

4

どちらかを探しているようですね

val = round(float(sys.argv[1]))

また

val = int(round(float(sys.argv[1])))

あなたが期待しているタイプに応じてval

于 2012-12-08T10:17:00.650 に答える