有了這種代碼獲得「爲double.Parse(串)的最佳重載的方法匹配具有一些無效參數」錯誤
double socialSecurityFee = 0;
double xsocialSecurityFee = double.Parse (socialSecurityFee);
我得到這樣的錯誤
錯誤CS1502的:對於 `double.Parse(串)」的最佳重載的方法匹配具有一些無效參數(CS1502) (socialSecurityFee)
我的代碼有什麼問題?
有了這種代碼獲得「爲double.Parse(串)的最佳重載的方法匹配具有一些無效參數」錯誤
double socialSecurityFee = 0;
double xsocialSecurityFee = double.Parse (socialSecurityFee);
我得到這樣的錯誤
錯誤CS1502的:對於 `double.Parse(串)」的最佳重載的方法匹配具有一些無效參數(CS1502) (socialSecurityFee)
我的代碼有什麼問題?
double.Parse
預計string
作爲參數,你想與另一個double
值來調用它。
我真的不知道爲什麼你正在使用double.Parse
這裏,但要使其工作增加ToString()
電話:
double socialSecurityFee = 0;
double xsocialSecurityFee = double.Parse(socialSecurityFee.ToString());
或只是分配本身的價值(因爲它已經是一個double
,是不是它?):
double socialSecurityFee = 0;
double xsocialSecurityFee = socialSecurityFee ;
我的代碼有什麼問題?
正是編譯器告訴你 - 沒有任何double.Parse
重載的適合double
類型的一個參數。它甚至不清楚你的意思 - 解析通常是從一種類型(通常是字符串)轉換爲另一種類型(在這種情況下爲double
)。你的初始值是已經 a double
,那麼你期望它做什麼?
我的猜測是,你實際上有一個字符串的地方,你試圖解析 - 所以你需要改變你的參數,以便它使用該字符串,而不是socialSecurityFee
變量。目前尚不清楚您是否需要兩個double
類型的變量。
此外,如果這是爲了表示貨幣數量(聽起來像),您應該考慮使用decimal
而不是double
。
Double.Parse
有四種過載。其中只有一個接受單個參數。該參數的類型是string
,但您試圖通過double
。那就是究竟是編譯器錯誤信息告訴你什麼。你不能這樣做,因爲double
s不能隱式轉換爲string
。您不能使用不隱式轉換爲方法所需類型的參數來調用方法。
但是你想要做什麼? socialSecurityFee
是double
,那你爲什麼試圖解析呢?解析意味着分析string
以賦予其含義。
我沒有想到在這麼短的時間內有如此多的響應。現在它工作正常,謝謝;) – ltantonov
方法double.Parse()
需要一個string
參數,並且您傳遞一個double
值。
由於您的原始值已經是一個雙,你甚至不需要使用double.Parse()
socialSecurityFee
已經是一倍。 double.Parse
需要一個字符串,強硬。你不需要在這裏解析任何東西。你想做什麼?
string socialSecurityFee = 0; double xsocialSecurityFee = double.Parse(socialSecurityFee);如果我改變這種方式,我得到另一個錯誤:錯誤CS1503:參數'#1'不能轉換'雙'表達式鍵入'字符串'(CS1503) – ltantonov
@ user2536652:那麼現在你已經改變了變量的類型,但你試圖將值'0'賦值給一個字符串,這不起作用... –