亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

從分鐘轉換為毫秒,然后轉換為 Int

從分鐘轉換為毫秒,然后轉換為 Int

C#
手掌心 2021-09-19 15:56:43
我正在嘗試運行以下轉換,這會導致無效的強制轉換異常指定的演員表無效settings.ActionTimer = Convert.ToInt32(TimeSpan.FromMinutes((double)ActionTimerComboBox.SelectedValue).TotalMilliseconds);這是什么嘗試如下:取 的值ActionTimerComboBox.SelectedValue,在本例中為“13”并將其從 object 轉換為 double,以便 TimeSpan.FromMinutes() 可以應用于它。將“13 分鐘”轉換為毫秒。將 int 更新settings.ActionTimer為毫秒轉換值,應為“780000”。我怎樣才能做到這一點?
查看完整描述

3 回答

?
犯罪嫌疑人X

TA貢獻2080條經驗 獲得超4個贊

除了從轉換ActionTimerComboBox.SelectedValue為雙倍之外,一切看起來都很好。這也是錯誤信息所說的。您必須使用以下內容:


string comboSelectedValue = ActionTimerComboBox.SelectedValue;

double selectedVal =0.0;

if(double.TryParse(comboSelectedValue, out selectedVal)){

    settings.ActionTimer = (int)TimeSpan.FromMinutes(selectedVal).TotalMilliseconds;

    Console.WriteLine(TimeSpan.FromMinutes(selectedVal).TotalMilliseconds);

}

else

{

    Console.WriteLine("Error in conversion");

}

工作示例在這里。此鏈接可能會幫助您了解有關類型轉換的更多信息。


查看完整回答
反對 回復 2021-09-19
?
楊__羊羊

TA貢獻1943條經驗 獲得超7個贊

ActionTimerComboBox.SelectedValue 正在返回字符串,您不能將其轉換為 double,您應該嘗試使用 double.Parse()、double.TryParse() 或 Convert 類,就像您在此處使用的那樣。- 抱歉無法發表評論


查看完整回答
反對 回復 2021-09-19
?
慕哥6287543

TA貢獻1831條經驗 獲得超10個贊

此異常來自以下聲明:


((double)ActionTimerComboBox.SelectedValue)

對象到雙精度轉換拋出無效的強制轉換異常。要么先將此對象轉換為字符串,然后再將其轉換為雙精度。


((double)ActionTimerComboBox.SelectedValue.toString());

或者,您也可以使用以下代碼:


var val = ActionTimerComboBox.SelectedValue;

if (val is IConvertible)

{

 double d = ((IConvertible)val).ToDouble(null);

}


查看完整回答
反對 回復 2021-09-19
  • 3 回答
  • 0 關注
  • 308 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號