2011-06-09 100 views
-1

欲四捨五入小數點後變量與2條規則(例如盧比5.65):舍入小數印度盧比C#

  1. 如果小數點後的部分(0.65在 的例子)在大於49,添加 1至小數點之前的部分(請 它6)
  2. 如果小數點後的部分是以下 有49(例如:2.45)。小數點後去除部分 (例:使它2.00)

請提出解決方案。

編輯誰能告訴我如何實現使用TSQL和CrystalReport一樣???

+0

你有什麼已經嘗試過? – 2011-06-09 04:17:17

+0

使用Math.Round()http://msdn.microsoft.com/en-us/library/system.math.round(v=vs.71).aspx – Rasika 2011-06-09 04:17:34

+0

如果它是3.493或3.496會怎麼樣?負數如何? – 2011-06-09 04:18:03

回答

4

看看Math.Round(decimal, MidPointRounding),它應該做你所需要的。

+1

第二個參數應該是'MidpointRounding.AwayFromZero'。 – 2011-06-09 04:35:51

+0

建議,它應該是MidpointRounding.AwayFromZero。 – 2011-06-10 06:02:44

1

好的..當有疑問看看System.Math對象。在你的情況,你想要的是

Math.Round(SomeDecimal); 
+0

問題是,它使12.50 12.00,而我想它是13.00 – 2011-06-09 04:30:57

1
iif(5.655 % Math.Round(5.6549, 2) > 0.49, Math.Ceiling(5.6549), Math.Floor(5.6549)); 

iif(5.655 % Math.Round(5.655, 2) > 0.49, Math.Ceiling(5.655), Math.Floor(5.655)); 
+0

我認爲我犯了一個小錯誤,不知道它是否在小數點後或如你所說「小數點後十進制(.65在例子)「,但你可以在這裏看到這個想法。 – 2011-06-09 05:34:02

相關問題