1. ホーム
  2. c#

[解決済み] C#エラー(Cannot Implicitly convert type 'string' to 'int') [duplicate].

2022-02-25 14:10:23

質問

助けてください 私はこれを修正する方法がわからない。私はこれにはまり、それはしばらくしている。このコードはどのように見えるのでしょうか?リースでは、エラーは8-10行目にあります。

        int intAmountA = 0;
        int intAmountB = 0;
        int intAmountC = 0;
        decimal decPackageA = 0m;
        decimal decPackageB = 0m;
        decimal decPackageC = 0m;
        decimal decTotal = 0m;

        intAmountA = TxtAmountA.Text;
        intAmountB = TxtAmountB.Text;
        intAmountC = TxtAmountC.Text;

        decPackageA = intAmountA * 150;
        decPackageB = intAmountB * 120;
        decPackageC = intAmountC * 90;

        LblPackageA.Text = decPackageA.ToString("c");
        LblPackageB.Text = decPackageB.ToString("c");
        LblPackageC.Text = decPackageC.ToString("c");

        decTotal = decPackageA + decPackageB + decPackageC;


        LblTotal.Text = decTotal.ToString("c");

解決方法は?

その TxtAmountA.Text は文字列です。 あなたは、変数 intAmountA を文字列に変換しているため、エラーになります。 テキストボックスの文字列から整数をパースする必要があります。

intAmountA = int.Parse(TxtAmountA.Text);

ただし、もし TxtAmountA.Text が整数にキャストできるものでない場合、例外が発生します。 そんなときに、条件付きで int.TryParse(string value, out integer);