展望格式化輸出,顯示一個非常小的數目..格式化字符串微秒
a= 6500
b= 3600
c=.000900
d= int((b/a)-c)
print d
回答出來是零,但尋找。之後######號碼。
對不起,試試這個
展望格式化輸出,顯示一個非常小的數目..格式化字符串微秒
a= 6500
b= 3600
c=.000900
d= int((b/a)-c)
print d
回答出來是零,但尋找。之後######號碼。
對不起,試試這個
看起來你在python 2.x中被整數除法了。
>>> a= 6500
>>> b= 3600
>>> c=.000900
>>> from __future__ import division
>>> print b/a - c
0.552946153846
可能有兩個問題與你的計算:
如果你使用的是Python 2,使用整數/
兩者之間的分工將永遠是一個整數也。這將丟棄計算的小數部分,這可能是意想不到的。一個解決方法是強制其中一個值爲float
值(例如float(b)/a
)。另一種方法是放在文件from __future__ import division
的頂部,該文件告訴Python使用Python 3語義進行除法(如果結果是精確整數,則只會從整數除法中得到一個整數)。
第二個問題似乎是關於格式化浮點值。首先你似乎只想要小數部分的值(不是整數部分)。通常情況下,最好的選擇是簡單地減去值的整數部分:
d = someFloatingPointValue()
d_frac = d - int(d)
下,得到一個字符串輸出(您想幾位小數,但他們不是一個巨大的數字),你可能想探索Python的字符串格式化操作:
d = someFloatingPointValue()
d_to4decimalPlaces = "{:.4f}".format(d)
當我打印'D',我得到'-0.0009'(python2.x) - 這將是對的,因爲真正的分python3.x不同的(我想你可能想在這裏)。 – mgilson 2013-02-11 02:02:09
你的編輯添加了'int',但你說你想要小數部分的計算。這看起來不一致,因爲'int'會明確拋棄這些部分! – Blckknght 2013-02-11 02:11:41