Мне интересно, как лучше всего преобразовать double в int. Безопасность выполнения - вот моя главная проблема здесь (это необязательно должен быть самым быстрым методом, но это было бы моей второстепенной задачей). Я оставил несколько вариантов, с которыми я могу поговорить ниже. Может ли кто-нибудь весить, на котором лучше всего практиковать? Какие-нибудь лучшие способы сделать это, что я не перечислял?
double foo = 1;
int bar;
// Option 1
bool parsed = Int32.TryParse(foo.ToString(), out bar);
if (parsed)
{
//...
}
// Option 2
bar = Convert.ToInt32(foo);
// Option 3
if (foo < Int32.MaxValue && foo > Int32.MinValue) { bar = (Int32)foo; }