看板 Soft_Job
標題
Re: [討論] 請大家聊聊 JavaScript的缺陷
作者 TonyQ
時間 2020/11/17 13:07:38
人氣 推:1 噓:0 留言:13
熱門文章不漏接,馬上點此訂閱每日熱門文章通知
訂閱Line日報 熱門文章不漏接,馬上點此訂閱
※ 引述《accessdenied (存取違規)》之銘言: : 你完全搞不清楚狀況喔。 : 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 一樣四捨五入的數字,讓我知道 : 算救貧道一命。 : 感恩 其實我上一篇已經有提到 Rounding mode 的選擇是關鍵了了, 然後那個不叫四捨六入...... 另外 tofixed 又誰跟你說他是四捨五入了.... 他是用浮點數的定位表示法(fixed-point notation) 計算的, 詳細實作有點囉嗦, 自己翻論文. 你的 csharp 好棒棒, 你就沒想過我上一篇是自己跑過才回的嗎 一定要把臉湊上來讓我打嗎 XD dotnet framework 4.7.1/csharp 7.3 https://imgur.com/JddrvWW 另外如果要穩定的計算, 特別是牽扯到錢的, 都建議用 decimal , 會比較安全一點. https://imgur.com/ZhQ5iQW 各位客官, 這兩篇真的不是我的鍋啊, 我只是回應一個不知道浮點數有多險惡的人而已. 另外如果想讓 js 在浮點數處理寫得更穩定一點, 有 decimal.js 可以用. 前文推文就提過, 此處不再贅述. -- I have a dream, it's silly but beautiful. -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 210.61.209.201 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1605589660.A.B39.html ※ 編輯: TonyQ (210.61.209.201 臺灣), 11/17/2020 13:09:12
CoNsTaR: 處理個浮點數都要研究要用什麼 lib,真是 low cost 啊 11/17 13:27
CoNsTaR: 我喜歡 11/17 13:27
low cost 是相對的啊,不然你在 web 找個不用的,還是哪個語言原生 double 就用這種方式實作的。 lol ※ 編輯: TonyQ (223.137.174.34 臺灣), 11/17/2020 13:39:29
petercoin: 這一整串看下來,最佳解是不是不要碰js... 11/17 14:02
thund: 但寫前端目前來說不可能不碰JS的XD 11/17 14:11
petercoin: 只能說還好我不是前端的XD 11/17 14:14
testPtt: 微軟派來的可以不碰又能解決問題 不過幾乎都是全端 11/17 15:15
BoXeX: 微軟那種單一大公司推的技術死太多個了 尤其是這種不能 11/17 18:32
BoXeX: 無痛轉換到其他技術的 危險 11/17 18:32
BoXeX: 強烈建議本科的在台灣不要當前端 11/17 18:34
BoXeX: 當了代表你那四或六年完全白費了 11/17 18:34
是也沒這麼誇張。
testPtt: 微軟這幾年就靠IDE打趴各家了 台灣學校只會更多教這家的 11/17 19:54
※ 編輯: TonyQ (223.136.191.168 臺灣), 11/17/2020 19:55:33
jej: 目前在各大裝置上還是主流阿 用js搞RWD才是邪魔歪道吧 11/17 20:51
jej: 說到這個用瀏覽器當FB, IG 讓我成功戒掉FB和IG 所以你覺得呢 11/17 20:51
近期熱門文章
Soft_Job 看板熱門文章