Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Cannot implicitly convert type 'string' to 'decimal'

private void button18_Click(object sender, EventArgs e)
    {
        Form1 stForm = new Form1();
        DialogResult result = stForm.ShowDialog(this);

        if (result == DialogResult.Cancel)
            return;
        Inscrierea__pentru_burs_sau_contract media = new Inscrierea__pentru_burs_sau_contract();
        media.Media_MNDP = stForm.MNDP.Text;
        media.Media_MNEA = stForm.MNEA.Text;
        media.Media_Concurs = stForm.MediaConcurs.Text;

        db.Media.Add(media);
        db.SaveChanges();
        MessageBox.Show("Salvarea a avut loc cu succes!!!");
    }

Please help me with my error at line with:

  1. media.Media_MNDP = stForm.MNDP.Text;
  2. media.Media_MNEA = stForm.MNEA.Text;
  3. media.Media_Concurs = stForm.MediaConcurs.Text;

error" Cannot implicitly convert type 'string' to 'decimal'"

like image 200
Cristina Avatar asked May 13 '15 09:05

Cristina


2 Answers

make use of Decimal.TryParse(string, out val)

Example :

decimal val;
if(Decimal.TryParse(stForm.MNDP.Text, out val))
    media.Media_MNDP = val;

better to use tryparse method because it avoid runtime exception to be thrown

like image 167
Pranay Rana Avatar answered Sep 23 '22 07:09

Pranay Rana


Try like this

 media.Media_MNDP = Decimal.Parse(stForm.MNDP.Text);

For emtpy textbox that will throw error .

To make error free try this

decimal demo;

if(Decimal.TryParse(stForm.MNDP.Text,out demo)){
  media.Media_MNDP = Decimal.Parse(stForm.MNDP.Text);
}
like image 39
Anik Islam Abhi Avatar answered Sep 26 '22 07:09

Anik Islam Abhi