输入字符串格式不正确(十进制到字符串)

0 .net c# linq-to-entities decimal

我试图将小数转换为我过去曾做过的字符串,但由于某种原因,它决定现在不起作用.我真的无法理解它,我已经在SQL Management Studio中将它设置为十进制并使用linq来传递它但是由于一些奇怪的原因,人类不知道它想要一个日期时间.

码:

protected void btnSubmit_Click(object sender, EventArgs e)
        {
            try
            {
                tblTest t = new tblTest();

                t.tDecimal = Convert.ToDecimal(tbxDecimal.ToString());

                t.Add(t);
            }
            catch (Exception ex)
            {
                System.Diagnostics.Debug.Write(ex.Message);
            }
        }
Run Code Online (Sandbox Code Playgroud)

有人可以帮帮我吗?

Dav*_*vid 7

首先,您应该始终使用System.Decimal.TryParse()而不是Convert.ToDecimal()

其次,假设您正在使用某种形式的匈牙利符号,并且tbx在您的符号中表示"文本框",则您尝试转换文本框,而不是文本框中的文本.

代替

tbxDecimal.ToString() 
Run Code Online (Sandbox Code Playgroud)

你需要

tbxDecimal.Text.ToString() 
Run Code Online (Sandbox Code Playgroud)

最后,你有一个断点,找出你真正试图转换的价值是什么?它可能与您期望的不同.