<分区>
我创建了一个简单的年龄计算器。我想删除小数位,但问题是当我将 now
减去 bday
时。
示例:我输入2012
、10
和23
,现在的日期是2014- 10-22
,
所以当 2014.1022 - 2012.1023
结果将是 1.9999...
我想删除所有小数位并保留整数 1
,但是当我使用 String.Format("{0:00}"
时,即使我使用 ConvertToInt32
,它也会将结果四舍五入为 02
,我不'想使用 split string 它需要很多代码。
有什么想法吗?
static void Main(string[] args)
{
string year, month, day = string.Empty;
Console.WriteLine("Enter your Birthdate:");
Console.WriteLine("Year :");
year = Console.ReadLine();
Console.WriteLine("Month :");
month = Console.ReadLine();
Console.WriteLine("Day :" );
day = Console.ReadLine();
try
{
DateTime date = Convert.ToDateTime(year + "-" + month + "-" + day);
var bday = float.Parse(date.ToString("yyyy.MMdd"));
var now = float.Parse(DateTime.Now.ToString("yyyy.MMdd"));
if (now < bday)
{
Console.WriteLine("Invalid Input of date");
Console.ReadLine();
}
Console.WriteLine("Your Age is " + (String.Format("{0:00}", (now - bday)))); //it rounds off my float
Console.ReadLine();
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
Console.ReadLine();
}
}