js讀取excel其中一列中的一個值是0.3556但是讀出來是0.35559999999999997, 但是如果手動把0.3556刪掉, 手動寫上, 就沒事了,這是為什麼呢?
认证0级讲师
你直接輸入 0.3556 就可以正常,說明可能是好事的微軟給 0.35559999999999997 四捨五入顯示成 0.3556 了。
微軟可能是基於以下考量:
如果兩個數 a, b 的差很小很小的時候,這時候可以認為 a 等於 b 。 小數很多的時候不好看
如果兩個數 a, b 的差很小很小的時候,這時候可以認為 a 等於 b 。
小數很多的時候不好看
excel我記得有個設定是可以給單元格規定小數點後精確到幾位,可能是這個設定隱藏了後面的那些位。
估計在excel中,這列數字的精讀較高,可能是long型,js表示long型的數字都有問題
你直接輸入 0.3556 就可以正常,說明可能是好事的微軟給 0.35559999999999997 四捨五入顯示成 0.3556 了。
微軟可能是基於以下考量:
excel我記得有個設定是可以給單元格規定小數點後精確到幾位,可能是這個設定隱藏了後面的那些位。
估計在excel中,這列數字的精讀較高,可能是long型,js表示long型的數字都有問題