鍍金池/ 問答/Python  HTML/ python,js里 浮點數(shù)*整數(shù)時 內(nèi)部做了什么操作?

python,js里 浮點數(shù)*整數(shù)時 內(nèi)部做了什么操作?

print(((10659.32 - 10000) * 100))
print((10659.33 - 10000) * 100)
print((10659.34 - 10000) * 100)
print((10659.35 - 10000) * 100)

print((10659.32 * 100 - 10000 * 100) * 1)
print((10659.33 * 100 - 10000 * 100) * 1)
print((10659.34 * 100 - 10000 * 100) * 1)
print((10659.35 * 100 - 10000 * 100) * 1)
65931.99999999997
65933.0
65934.00000000001
65935.00000000003
65932.0
65933.0
65934.0
65935.0

在我看來,前一個是浮點*整數(shù),后一個變成了是整數(shù)相減的運算。
浮點數(shù)在運算后,內(nèi)部會執(zhí)行類似 result = (int)result的函數(shù),來判斷是否將浮點數(shù)修改為整數(shù)嗎?
有點懵,求指教。謝謝

回答
編輯回答
怣人

不會。
忠實地按照表達(dá)式提升數(shù)據(jù)類型做運算。
不要試圖評價不同途徑算出來的浮點數(shù)為什么不完全一致。差值小于eps的兩個值你就可以認(rèn)為是相等的。
另外你這個不但是浮點數(shù)的精度問題,還有打印的精度問題。記住,浮點數(shù)領(lǐng)域不能要求絕對相等。

2017年5月12日 10:35
編輯回答
好難瘦

如果不顯式的指明 ,運算中不會 把浮點數(shù)轉(zhuǎn)換為整數(shù),但在計算需要時會默認(rèn)把整數(shù)轉(zhuǎn)換成浮點數(shù)。
浮點數(shù)不能直接用相等來比較,一般是比較差的絕對值在一個范圍內(nèi)算相等。

2018年1月18日 11:20