我正在尝试在控制台应用程序中计算货币,因此我需要将字符串转换为十进制数字。我可以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);
答案 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);