Я создал простой калькулятор возраста. Я хочу удалить десятичные разряды, но проблема заключается в том, что я выхожу из now
в bday
.Простая Возрастная калькуляция базы на дату рождения в C#
пример: I вход 2012
, 10
и 23
и дата теперь 2014-10-22
, Так что, когда 2014.1022 - 2012.1023
результат будет 1.9999...
я хочу, чтобы удалить все десятичные места и по-прежнему целое число 1
, но время я использую String.Format("{0:00}"
Он округляет результат до 02
, даже когда я использую ConvertToInt32
, я не хочу использовать 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? –
1. вы можете использовать 'TimeSpan'. 2. Посмотрите на этот ответ http: // stackoverflow.com/questions/16671165/how-to-calculate-the-age-of-person, чтобы получить представление о том, как рассчитать дату самостоятельно – AsfK
@ JennyO'Reilly: вы не можете получить от TimeSpan до нескольких лет ... –