Для этого округления со скидкой вы можете сделать:
Convert.ToInt64(Math.Floor(Convert.ToDouble(value)));
Если вам нужно округлить, вы можете заменить Math.Floor
на Math.Round
.
Редактировать: Поскольку вы упомянули в комментарии, что вы будете округлять:
Convert.ToInt64(Math.Round(Convert.ToDouble(value)));
Если вам нужно беспокоиться о локализации / глобализации, то, как сказал @xls, вы должны применить CultureInfo в преобразованиях.
Редактировать 2: Альтернативный метод с использованием строковой функции (не очень элегантный IMO - может быть, он может быть элегантизирован с помощью функции предиката):
Convert.ToInt64(value.Substring(0, value.IndexOf('.') > 0 ? value.IndexOf('.') : value.Length));