2013-01-23 44 views
1

我有以下錯誤:重載決策失敗上Math.Ceiling

Overload resolution failed because no accessible 'Ceiling' can be called without a narrowing conversion.

我的代碼是:

dgiOpr01Rep.Cells(7).Text = AddPrecZero(Math.Ceiling(dtgCollections.Items(i).Cells(7).Text)) 

有人能幫助我嗎?

+3

需要更多代碼,但對於初學者,Math.Ceiling()不接受String類型的參數。您必須使用Convert.ToDouble()或Convert.ToDecimal()將字符串轉換爲雙精度或十進制。 – Matt

+1

歡迎來到SO。確保您的標題描述了問題 - 使用標籤描述環境。 –

+0

在您的項目屬性或您的代碼文件的頂部,添加選項嚴格在 –

回答

3

基本上編譯器是說,它不能選擇哪個超載使用沒有進一步的信息

先嚐試文本值轉換爲數字類型,例如:

Dim val As Decimal = Decimal.Parse(dtgCollections.Items(i).Cells(7).Text) 
dgiOpr01Rep.Cells(7).Text = AddPrecZero(Math.Ceiling(val)) 

您需要儘管使用任何數字類型匹配文本的內容。

+0

謝謝你的工作 – ram

+0

沒問題。如果它解決了您的問題,請不要忘記接受答案(點擊上面的綠色標記) –

相關問題