我想根據第三個小數點來取整值。它應該始終採用UP值並四捨五入。我使用了Math.Round,但它並沒有像我期望的那樣產生結果。總是舍入一個C#值
方案1
var value1 = 2.526;
var result1 = Math.Round(value1, 2); //Expected: 2.53 //Actual: 2.53
方案2
var value2 = 2.524;
var result2 = Math.Round(value2, 2); //Expected: 2.53 //Actual: 2.52
方案1是確定。它正在產生我期望的結果。 在第二種情況下,我的金額爲2.522。我想考慮第三個小數點(在這種情況下是'4'),它應該四捨五入。預期結果是2.53
無論第三個小數點是什麼(無論小於5還是大於5),都應該總是向上舍入。
任何人都可以爲我提供解決方案嗎?我不認爲Math.Round在這裏幫助我。
如果你對小數點感興趣,也許你應該使用'decimal'而不是'double'?你想表達什麼樣的價值? –
「,但它並沒有像我預期的那樣產生結果。」 - 說實話,「總是向上」並不是許多人期望的結果。 –
另外值得指出的是,Math.Round通常會被誤解: http://stackoverflow.com/questions/977796/why-does-math-round2-5-return-2-instead-of-3-in-c – Jordan