Нужен условный буффер длинной в число значимых символов или точности и при движении каретки, натыкаясь на команду - запоминать её, натыкаясь на пробел обнулять буферы и т.п. Плюс запоминать положение точки. И по сути дальше в цикле по буфферу восстанавливать число, где будет формула типа buf[i] * pow(10, k), где k равно будет положению точки в числе минус индекс массива. И вот по сути полный парсер, через некоторый конечный автомат без лишних аллокаций (ну только буффер по размеру значимых символов в числе)