2012-11-17 76 views
0

我有問題我的老師未能解決,沒有錯誤,但當我調試程序我得到異常說:「當轉換字符串時間,解析字符串在將每個變量放入DateTime對象之前取出日期「。在這一行:」例外的工作代碼,刪除嘗試趕上,看看它在哪裏

//stopa poreza 
double brutoPlaca = Convert.ToDouble(textBox3.Text);" 

原代碼:

string stopaDoprinosa; double Doprinos = 0; 
string stopaPoreza; double Porez = 0; 
double netoPlaca; 
//doprinos 
if (textBox2.Text == "Osijek") 
{ stopaDoprinosa = "13%"; } 
else 
{ stopaDoprinosa = "8%"; } 
//stopa poreza 
double brutoPlaca = Convert.ToDouble(textBox3.Text); 
if (brutoPlaca <= 3000) 
{ stopaPoreza = "10%"; } 
else 
{ stopaPoreza = "20%"; } 

//porez 
if (stopaPoreza == "10%") 
{ Porez = 0.1; } 
if (stopaPoreza == "20%") 
{ Porez = 0.2; } 

//neto plaća 
netoPlaca = brutoPlaca * Porez; 
if (stopaDoprinosa == "8%") 
{ Doprinos = 0.08; } 
if (stopaDoprinosa == "13%") 
{ Doprinos = 0.13; } 

Djelatnik d = new Djelatnik(textBox1.Text, textBox2.Text, brutoPlaca,stopaDoprinosa,Doprinos,stopaPoreza,Porez,netoPlaca); 
Djelatnici.Add(d); 

回答

0

打開停在調試器拋出的異常,在Visual Studio中去調試 - >例外然後勾選旁邊扔在箱子CLR例外。

Visual Studio: How to break on handled exceptions?

正如你沒有給我們就行了,不得不卸下漁獲,我假設你沒有這樣做。

+0

如果我理解你告訴我,我alredy給你在哪裏例外彈出一句話:「// Stopa說poreza 雙brutoPlaca = Convert.ToDouble(textBox3.Text);「 –

1

將字符串轉換爲雙號的使用double.Parse()double.TryParse()方法,像:

double brutoPlaca = double.Parse(textBox3.Text); 
+0

我認爲這是它,但它沒有工作:S –

+0

@MartinMarkovic:你用什麼符號來描述數字的小數部分(逗號或點)?即在文本框中輸入「123.45」或「123,45」?英文十進制數字使用點,所以double.Parse()期望數字的格式如下:「123.45」。 –

+0

嗯,我試着用點和昏迷,但沒有效果。 >< –