c# - 无法将类型 'string' 隐式转换为 'decimal'

标签 c# visual-studio

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!!!");
    }

请帮我解决我的错误:

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

错误“无法将类型‘字符串’隐式转换为‘十进制’”

最佳答案

利用 Decimal.TryParse(string, out val)

示例:

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

最好使用 tryparse 方法,因为它可以避免抛出运行时异常

关于c# - 无法将类型 'string' 隐式转换为 'decimal',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30210888/

相关文章:

c# - 更改AudioContext设备,但保持OpenAL状态

visual-studio - Visual Studio 2017 - 磁盘空间不足

visual-studio - Visual Studio : The dbType NvarChar is invalid for this constructor (Team Foundation Server. )

c# - 如何用递归方法替换内部 Foreach 循环

c# - C# 中是否有与 IEnumerable<T> 等效的标准 C++?

c# - ConcurrentDictionary.AddOrUpdate() : Add value to list on update

c# - 为什么实现 'IList<T>' 需要定义两个 'GetEnumerator' 方法?

c# - 为什么 Visual Studio 2019 会删除对新 .razor 文件的监视?

.net - 如何修复 Visual Studio 2015 中的 DNX/DNVM?

c - 访问结构数组中结构的成员,该结构是不同结构数组的成员