Calc无法在服务器上运行,但可以在本地运行

时间:2014-03-07 06:31:28

标签: c#

我有四个文本框,第一个从gridview中总结一列,第二个框应该将第一个框与最后一个框相乘,第三个框应该添加第二个框和第一个框。这可以在我的本地电脑上但在服务器上它给我输入错误的格式不正确。欢迎任何帮助。

  • textbox24 = 1.14
  • textbox 21 = 5234
  • 文本框22 =乘以box24 * box21
  • textbox 23 = box21 + box22
  • 英语 - 南非 - 服务器和本地电脑

2 个答案:

答案 0 :(得分:0)

MarcusScott是对的。这应该是您的本地电脑和服务器之间的文化差异。您可以从区域和语言选项部分查看它们。

Convert.ToDouble方法使用当前的线程文化。

来自文档;

  

使用ToDouble(String)方法相当于将值传递给   Double.Parse(String)方法。通过使用来解释值   当前线程文化的格式约定。

这意味着如果您的文本框的小数值为NumberDecimalSeparatorNumberGroupSeparator,并且这些属性对于本地PC的文化和您的服务器文化不相同,那么获取{{3}是正常的}。

但由于您从未提及过您的文本框值,您的本地文化和服务器文化,因此我们永远不知道究竟是什么问题。

  

他们说,我可以从web.config文件更改设置   有谁知道怎么做?

阅读FormatException

答案 1 :(得分:0)

在显示textBox22

中的文本之前,您正在使用ConvertToDouble

你的注释行是好的,评论下面的那个,没有;)

public void Multiply()
    {
        try
        {

            double vat = Convert.ToDouble(TextBox24.Text);
            double tot = Convert.ToDouble(TextBox21.Text);
            double ans = tot * vat;

                //TextBox22.Text = ans.ToString().Trim(); 
                TextBox22.Text = ans.ToString().Trim();
        }
        catch (Exception e)
        {
            TextBox22.Text = e.Message;
        }

    }