Пока дробь равна нулю, вы можете проанализировать эти строки, сказав, что допустима десятичная точка:
long value = long.Parse("0.000", System.Globalization.NumberStyles.AllowDecimalPoint);
Однако она не будет усекать или округлять для вас числа, отличные от нулябросить исключение (или не выполнить TryParse).Вам необходимо явно применить желаемый тип усечения:
long value = (long)decimal.Parse("1.500");
Или использовать Math.Round, Truncate, Ceiling.Обратите внимание, что технически не следует использовать double.Parse (), long имеет слишком много цифр, чтобы быть точно представленными в double (19, double поддерживает только 15 значащих цифр).