你是如何湊到最近的分數呢? 所以,以下小數, 我要舍和顯示金額:十進制小數到最接近的分數
1230.3092 => $1230.30
221.9672 => $221.96
12345.6808 => 12345.68
我已經試過這
Math.Round(value, 2, MidpointRounding.ToEven)
decimal.Round(value, 2, MidpointRounding.ToEven)
,但由於某種原因,它向上舍。
你是如何湊到最近的分數呢? 所以,以下小數, 我要舍和顯示金額:十進制小數到最接近的分數
1230.3092 => $1230.30
221.9672 => $221.96
12345.6808 => 12345.68
我已經試過這
Math.Round(value, 2, MidpointRounding.ToEven)
decimal.Round(value, 2, MidpointRounding.ToEven)
,但由於某種原因,它向上舍。
您試圖遵循非標準舍入規則,因此內置函數不會執行您正在查找的內容。無論是重載方法或創建自己的方法 - 它看起來像只需要截斷爲兩位小數,然後添加一個,如果結果是奇數(或樓層然後添加一個)。
中途意味着中途:1230.3050中途1230.3092不是中途。 – SteveO
這不是多麼圓潤的作品。如果你想定義自己的數學習慣規則,那麼你必須自己實現這些規則。內置組件使用數學的標準規則。 – David
添加更多示例,例如'1.005','10000000000.05'。這並不明顯。 – leppie