C# での Decimal から Double への暗黙的な変換
コード スニペットに示すように、Decimal 変数を Double 変数に代入しようとしたとき以下の場合、コンパイル エラーが発生する可能性があります:
decimal trans = trackBar1.Value / 5000; this.Opacity = trans;
エラー メッセージは通常、暗黙的に 10 進数型を double 型に変換します。
この問題を解決するには、double への明示的なキャストを使用できます。
double trans = (double) trackBar1.Value / 5000.0; this.Opacity = trans;
あるいは、定数を明示的に double として識別することもできます。サフィックス .0 を使用:
double trans = trackBar1.Value / 5000.0;
別のオプションは、サフィックス d を使用して、 double:
double trans = trackBar1.Value / 5000d;
定数を double として明示的に識別することにより、コンパイラは明示的なキャストを必要とせずに変換を正しく実行できます。
以上がC# で 10 進数を double に代入すると暗黙的な変換が失敗するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。