Python 转换皮秒和飞秒没有以秒为单位给出正确的时间

I'm converting from all units of time to seconds and for some reason with the smaller units of time (picoseconds and femtoseconds), i'm getting (femtoseconds): 0.00000000000000100000000000000007770539987666107923830718560119501514549256171449087560176849365234375 instead of 0.000000000000001.有谁知道为什么?


days = int(input("Enter the amount of days: ")) * 24 * 60 * 60

hours = int(input("Enter the amount of hours: ")) * 60 * 60

minutes = int(input("Enter the amount of minutes: ")) * 60

ms = int(input("Enter the amount of milliseconds: ")) * (10 ** -3)

mcs = int(input("Enter the amount of microseconds: ")) * (10 ** -6)

ns = int(input("Enter the amount of nanoseconds: ")) * (10 ** -9)

ps = int(input("Enter the amount of picoseconds: ")) * (10 ** -12)

fs = int(input("Enter the amount of femtoseconds: ")) * (10 ** -15)


s = days + hours + minutes + ms + mcs + ns + ps + fs

print("The amount of seconds is:", "{0:.50}".format(s))


潇潇雨雨
浏览 121回答 1
1回答

手掌心

浮点数无法用任何编程语言准确表示,原因很简单,因为浮点数的数量是无限的。但是,可能对您有帮助的是Decimal:Clarification on the Decimal type in Python文档:https ://docs.python.org/3.8/library/decimal.html
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python