Поскольку вы передаете номер, который получил десятичные, вам необходимо использовать соответствующую цель тип - float
или double
Так вы дадите
var value = Double.Parse(s);
Вы можете забрать десятичные так:
var integer = (int)value;
Но даже с Double.Parse
вам нужно быть осторожным, так как он будет ожидать другой вход, на основе текущей культуры (System.Globalization.CultureInfo.CurrentCulture
) ,
Так что пока
Double.Parse("800.00", System.Globalization.CultureInfo.GetCultureInfo("en-US"))
работает, как ожидалось
Double.Parse("800.00", System.Globalization.CultureInfo.GetCultureInfo("de-DE"))
произведет значение "80000"
EDIT1 - добавлено:
Таким образом, вы можете использовать
Double.Parse("800.00", System.Globalization.CultureInfo.InvariantCulture)
, чтобы предотвратить любое неправильное толкование, которое может привести к возникновению любых неприятностей.