Re: [討論] 請大家聊聊 JavaScript的缺陷
你完全搞不清楚狀況喔。
dotnet 的 Math.Round() 預設是 四捨六入(五遇到前面為基數才進位)的設計,也就是
銀行家捨入法,也就是第三個參數為 ToEven 模式,我指定 AwayFromZero 是因為想走四
捨五入。
拔掉這個,走四捨六入也行,dotnet 就是照本宣科來,根本沒有你說的浮點數精確錯誤
的問題。
https://i.imgur.com/u1WLSnh.jpg

上圖的結果可以明確顯示, JS 的 toFixed() 這爛東西跟 dotnet 根本沒有可比性。js
完全是胡來的。
你可以參考這篇文章了解這個機制:
https://www.itread01.com/p/1421856.html
順便求助一下啦,我為何一直戰 js round 這件事?因為我需要一個實作可以讓 dotnet
算出 js toFixed() 一樣結果的 function,但越是研究 toFixed()呈現的結果,越是靠
北。
如果知道哪邊有現成的實作,可以讓 dotnet 算出跟 js 一樣四捨五入的數字,讓我知道
算救貧道一命。
感恩
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.135.20.48 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1605587138.A.A64.html
→
11/17 12:28,
5年前
, 1F
11/17 12:28, 1F
→
11/17 12:28,
5年前
, 2F
11/17 12:28, 2F
→
11/17 12:28,
5年前
, 3F
11/17 12:28, 3F
推
11/17 12:39,
5年前
, 4F
11/17 12:39, 4F
→
11/17 12:41,
5年前
, 5F
11/17 12:41, 5F
推
11/17 12:42,
5年前
, 6F
11/17 12:42, 6F
→
11/17 12:45,
5年前
, 7F
11/17 12:45, 7F

→
11/17 12:46,
5年前
, 8F
11/17 12:46, 8F
→
11/17 12:46,
5年前
, 9F
11/17 12:46, 9F
→
11/17 12:50,
5年前
, 10F
11/17 12:50, 10F
→
11/17 12:50,
5年前
, 11F
11/17 12:50, 11F
推
11/17 12:51,
5年前
, 12F
11/17 12:51, 12F
→
11/17 12:51,
5年前
, 13F
11/17 12:51, 13F
→
11/17 13:14,
5年前
, 14F
11/17 13:14, 14F
討論串 (同標題文章)
以下文章回應了本文 (最舊先):
完整討論串 (本文為第 15 之 19 篇):