你完全搞不清楚状况喔。
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 一样四舍五入的数字,让我知道
算救贫道一命。
感恩