Console.ReadLine中只接受小数和数字
本文关键字:小数 数字 ReadLine Console | 更新日期: 2023-09-27 18:20:28
我刚刚制作了一个程序,在给定数量和价格的情况下计算一个或多个项目的总成本。我担心的一个问题是在项目成本字段中,它根本不接受小数。我也希望这两个字段都不接受信件。我看到了一些关于TryParse
的内容,但我不确定如何使用它以及它是如何工作的。感谢您的帮助。这是我的代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace QuantityPrice
{
class Program
{
static void Main(string[] args)
{
int Quantity;
int Cost;
Console.WriteLine("How much is the item you are buying? (In Canadian Dollars)");
Cost = int.Parse(Console.ReadLine());
Console.WriteLine("How many of the item are you buying? (In Canadian Dollars)");
Quantity = int.Parse(Console.ReadLine());
var TotalCost = Quantity * Cost * 1.13;
Console.WriteLine("Your total cost is:");
Console.WriteLine("$" + TotalCost);
Console.ReadLine();
System.Threading.Thread.Sleep(100000);
}
}
}
问题是使用int.Parse
从用户输入中提取值。int
类型仅适用于整数。如果要处理小数,请使用float
或double
(用于需要浮点小数点的普通数学)或decimal
(用于固定点算术,如货币)。
作为通用样式注释,变量名使用"camel-case"(以小写字符开头),而不是"Pascal case"(以大写字符开头)。
您需要使用小数而不是int,要获得值,只要它不是有效的小数,就可以要求它,就像这个答案中那样。需要帮助接受C中的小数作为输入#你可以像这样直接使用:
var cost = RequestDecimal("How much is the item you are buying? (In Canadian Dollars)");
使用等效函数获取数量的int