3 回答

TA貢獻(xiàn)2080條經(jīng)驗(yàn) 獲得超4個(gè)贊
除了從轉(zhuǎn)換ActionTimerComboBox.SelectedValue為雙倍之外,一切看起來(lái)都很好。這也是錯(cuò)誤信息所說(shuō)的。您必須使用以下內(nèi)容:
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");
}
工作示例在這里。此鏈接可能會(huì)幫助您了解有關(guān)類(lèi)型轉(zhuǎn)換的更多信息。

TA貢獻(xiàn)1943條經(jīng)驗(yàn) 獲得超7個(gè)贊
ActionTimerComboBox.SelectedValue 正在返回字符串,您不能將其轉(zhuǎn)換為 double,您應(yīng)該嘗試使用 double.Parse()、double.TryParse() 或 Convert 類(lèi),就像您在此處使用的那樣。- 抱歉無(wú)法發(fā)表評(píng)論

TA貢獻(xiàn)1831條經(jīng)驗(yàn) 獲得超10個(gè)贊
此異常來(lái)自以下聲明:
((double)ActionTimerComboBox.SelectedValue)
對(duì)象到雙精度轉(zhuǎn)換拋出無(wú)效的強(qiáng)制轉(zhuǎn)換異常。要么先將此對(duì)象轉(zhuǎn)換為字符串,然后再將其轉(zhuǎn)換為雙精度。
((double)ActionTimerComboBox.SelectedValue.toString());
或者,您也可以使用以下代碼:
var val = ActionTimerComboBox.SelectedValue;
if (val is IConvertible)
{
double d = ((IConvertible)val).ToDouble(null);
}
- 3 回答
- 0 關(guān)注
- 293 瀏覽
添加回答
舉報(bào)