在c#中计算并将字符串转换为double

时间:2017-03-07 09:55:08

标签: c# visual-studio console-application

我正在尝试在控制台应用程序中计算货币,因此我需要将字符串转换为十进制数字。我可以Convert.ToInt32但不能Convert.ToDouble这里是一个示例,用户将输入7位数作为答案。当我可以制作控制台应用程序时,我将在winform中开发它。任何帮助都会非常感谢你。

    Console.WriteLine("Please enter the first rate");
        NGNRate = Convert.ToInt32(Console.ReadLine());

        Console.WriteLine("Please enter the  Master rate");
        TM_USD_ZAR = Convert.ToInt32(Console.ReadLine());

        Console.WriteLine(NGNRate / TM_USD_ZAR); 

2 个答案:

答案 0 :(得分:1)

Convert.ToDouble()取决于区域设置和小数点分隔符,如果您有.作为小数,并且输入,您的转化将无法成功

 Console.WriteLine("Please enter the first rate");
 var NGNRate = Convert.ToDouble(Console.ReadLine());

 Console.WriteLine("Please enter the  Master rate");
 var TM_USD_ZAR = Convert.ToDouble(Console.ReadLine());

 Console.WriteLine(NGNRate / TM_USD_ZAR);

答案 1 :(得分:1)

尝试使用Decimal.Parse,文档here

        Console.WriteLine("Please enter the first rate");
        decimal NGNRate = Decimal.Parse(Console.ReadLine());

        Console.WriteLine("Please enter the  Master rate");
        decimal TM_USD_ZAR = Convert.ToDecimal(Console.ReadLine());

        Console.WriteLine(NGNRate / TM_USD_ZAR);