将字符串转换为十进制C#

时间:2016-08-03 09:09:55

标签: c#

我正在尝试将字符串(格式为“1.1”或“11.11”等等)转换为小数。 但输出仍然缺少“。”或“,”

所以我输入“1.1 + 2.2”。

first = 1.1(string)

秒= 2.2(字符串)

当我尝试转换为十进制时,我得到“11”和“22”。

如果我不转换“相同的结果”。到“,”。

我在stackoverflow上找到的解决方案都没有奏效。

if (first.Contains("."))
            {
                DecimalMethod(first);
                MessageBox.Show(first);
                first.Replace(".", ",");

            }


            if (second.Contains("."))
            {
                DecimalMethod(second);
                MessageBox.Show(second);
                second.Replace(".", ",");
            }


           decimal.TryParse(first, out firstNumber);
           decimal.TryParse(second, out secondNumber);

1 个答案:

答案 0 :(得分:1)

我设法解决了这个问题 我将tryParse部分更改为:

        System.Globalization.CultureInfo ci = new System.Globalization.CultureInfo("en-US");
        decimal.TryParse(first, System.Globalization.NumberStyles.Currency,
                             ci, out firstNumber);
       decimal.TryParse(second, System.Globalization.NumberStyles.Currency,
                            ci, out secondNumber);
相关问题