このようなコードで
double socialSecurityFee = 0;
double xsocialSecurityFee = double.Parse (socialSecurityFee);
この種のエラーが発生します
エラー CS1502: `double.Parse(string)' の最適なオーバーロードされたメソッド マッチには、無効な引数が含まれています (CS1502) (socialSecurityFee)
コードの何が問題になっていますか?
このようなコードで
double socialSecurityFee = 0;
double xsocialSecurityFee = double.Parse (socialSecurityFee);
この種のエラーが発生します
エラー CS1502: `double.Parse(string)' の最適なオーバーロードされたメソッド マッチには、無効な引数が含まれています (CS1502) (socialSecurityFee)
コードの何が問題になっていますか?
コードの何が問題になっていますか?
まさにコンパイラがあなたに言っていることです - double.Parse
type の単一の引数には適切なオーバーロードはありませんdouble
。それが何を意味するのかさえ明確ではありません-解析は通常、あるタイプ(通常は文字列)から別のタイプ(double
この場合)に変換することです。あなたの初期値はすでにdouble
です。
私の推測では、実際にはどこかに文字列があり、それを解析しようとしているので、socialSecurityFee
変数の代わりにその文字列を使用するように引数を変更する必要があります。タイプの変数が 2 つ必要であることは明らかではありませんdouble
。
さらに、これが通貨量を表すことを意図している場合 (そのように聞こえます)、decimal
代わりに を使用することを検討する必要がありdouble
ます。
の 4 つのオーバーロードがありDouble.Parse
ます。それらのうちの 1 つだけが単一のパラメーターを受け入れます。そのパラメータの型は astring
ですが、 を渡そうとしていますdouble
。それはまさにコンパイラのエラー メッセージが伝えていることです。double
s は暗黙的に に変換できないため、これを行うことはできませんstring
。メソッドが期待する型に暗黙的に変換されないパラメーターを使用してメソッドを呼び出すことはできません。
しかし、あなたは何をしようとしていますか?socialSecurityFee
であるのにdouble
、なぜ解析しようとしているのですか? 解析とは、a を分析しstring
て意味を与えることです。
メソッドは引数をdouble.Parse()
期待しstring
ており、値を渡していdouble
ます。
元の値はすでに double であるため、使用する必要さえありませんdouble.Parse()
double.Parse
パラメーターとして期待string
されており、別の値でそれを呼び出そうとしていdouble
ます。
ここで使用している理由はよくわかりませんが、機能させるには次の呼び出しdouble.Parse
を追加します。ToString()
double socialSecurityFee = 0;
double xsocialSecurityFee = double.Parse(socialSecurityFee.ToString());
または単に値自体を割り当てるだけです (それはすでにdouble
ですよね?):
double socialSecurityFee = 0;
double xsocialSecurityFee = socialSecurityFee ;
socialSecurityFee
すでにダブルです。double.Parse
タフな文字列を期待します。ここでは何も解析する必要はありません。あなたは何をしようとしているのですか?