Вы можете сделать это с помощью регулярного выражения
using System.Text.RegularExpression;
Regex reg = new Regex(@"([\d|\.]*)(\w*)");
string value = "123.4L";
MatchCollection matches = reg.Matches(value);
foreach (Match match in matches)
{
if (match.Success)
{
GroupCollection groups = match.Groups;
Console.WriteLine(groups[1].Value); // will be 123.4
Console.WriteLine(groups[2].Value); // will be L
}
}
Итак, что это будет делать, это искать 0 или более цифр или "."а затем сгруппировать их, а затем искать любой символ (0 или более).Затем вы можете получить группы из каждого матча и получить значение.Это сработает, если вы хотите изменить тип измерения, и сработает, если у вас нет десятичной точки.
Редактировать: Важно отметить, что вы должны использовать группы [1]для первой группы и групп [2] для второй группы.Если вы используете группу [0], она отобразит исходную строку.