我创建了一个简单的年龄计算器。我想删除小数位数,但问题是当我将now
减去bday
时。简单年龄计算器根据出生日期在C#
例如:我输入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();
}
}
}
为什么你不使用TimeSpan类? – 2014-10-22 09:17:32
1.您可以使用'TimeSpan'。 2.看看这个答案http:// stackoverflow。com/questions/16671165 /如何计算一个人的年龄,以了解如何自己计算日期 – AsfK 2014-10-22 09:18:22
@ JennyO'Reilly:你无法从TimeSpan获得数年... – 2014-10-22 09:19:47