Вот как я бы кодировал ConvertToFloat
:
private float ConvertToFloat(string value) {
if (!Validate(value))
throw new ArgumentException (value);
string[] v = value.Split(new char[] {'.', ','});
int integer = 0;
if (!string.IsNullOrEmpty(v[0])) {
integer = Convert.ToInt32(v[0]);
}
int dec = Convert.ToInt32(v[1]);
return integer + (dec / 100.0f);
}
EDIT
Я добавил метод проверки.
public static bool Validate(string a)
{
return Regex.IsMatch(a, @"^\d*[\.,]\d{2}$");
}