正则表达式十进制到int

时间:2016-11-23 13:12:17

标签: c# regex

我试图从文本框中读取一个十进制数字并将其转换为int来计算它。

字符串看起来像这样+ 0.003_mm。 基于正则表达式在线工具,我捕获十进制数的模式应如下所示" d *(\ d +。\ d +"结果将为0.003

在测试这个时,我试图在名为" mtw_textbox"的文本框中显示0.003。这就是为什么我最终将它转换为字符串。

我已经尝试过这种方式,也作为Int32用于" mittelwert1"但我收到一个错误,说这是错误的格式" Int mittelwert1 = Convert.ToInt32(mtw1.Value);"

我做错了什么?

       private void button1_Click_1(object sender, EventArgs e)
    {
        Regex regex = new Regex(@"d*(\d+\.\d+)");
        Match mtw1 = regex.Match(mw1_textbox.Text);

        if (mtw1.Success) { 
        Int mittelwert1 = Convert.ToInt32(mtw1.Value);
        string testen = mittelwert1.ToString();

1 个答案:

答案 0 :(得分:2)

将“0.003”转换为整数将完全抛出此异常。这是因为0.003不是整数。尝试转换为任何浮点数,如float,double或decimal:

double mittelwert1 = Convert.ToDouble(mtw1.Value);