考慮下面的C#代碼舍入的數:使用非標準規則
Decimal number = new decimal(8.0549);
Decimal rounded = Math.Round(number, 2);
Console.WriteLine("rounded value: {0}", rounded);
時會產生輸出:8.05
Math.Round的algoritm只檢查下一個數字超出作爲參數的小數數。
我需要一個檢查所有小數鏈的算法。在這種情況下,9應該輪4〜5這反過來將輪5至6,產生最終結果8.06
更多exemples:
8.0545 - > 8.06
8.0544 - > 8.05
有一些內置在該方法可以幫助我嗎?
謝謝。
我屁股你知道你提出的舍入在數學上是不正確的嗎?即8.0545比8.06接近8.05,所以四捨五入到8.06是不正確的四捨五入。 – 2010-10-31 16:38:20
只是好奇(因爲你正在尋找的不是四捨五入的)......爲什麼? ;) – 2010-10-31 16:39:18
是的,我知道這不是數學上正確的。那是因爲我稱它爲「非標準」。但它仍然是一個四捨五入的,不是? :)我也不同意這個規則。但是上級命令.. – 2010-10-31 16:45:35