C#中十進位到雙精確度的隱式轉換
嘗試將十進位變數指派給雙精確度變數時,如程式碼片段所示下面,可能會出現編譯錯誤:
decimal trans = trackBar1.Value / 5000; this.Opacity = trans;
錯誤訊息通常表示隱式轉換失敗十進位類型轉換為雙精確度類型。
要解決此問題,可以使用明確轉換為雙精度型:
double trans = (double) trackBar1.Value / 5000.0; this.Opacity = trans;
或者,可以使用後綴將常量明確標識為雙精度.0:
double trans = trackBar1.Value / 5000.0;
另一個選項是使用後綴 d來指定double:
double trans = trackBar1.Value / 5000d;
透過明確將常數識別為 double,編譯器可以正確執行轉換,而無需明確強制轉換。
以上是為什麼在 C# 中將小數賦值給 Double 時隱式轉換失敗?的詳細內容。更多資訊請關注PHP中文網其他相關文章!