fLen( %CAMPO% ) devuelve el nº caracteres.
Para saber cuantos hay antes del punto utiliza la función de fórmula fPosSubcadena si devuelve un valor distino de -1 es que han escrito el punto, lee la ayuda donde te explica que el primer caracter es el 0.
El utilizar un campo para 2 cosas no es una buena costumbre, sería mucho más facil pedir 2 campos y luego si quieres concatenarlos en un campo fórmula o en el contenido incial de un campo alfa64 donde la primera parte + "." + la segunda parte ajustandola a la derecha con 0 por la izquierda. Incluso los campos de pantalla también podrían ser 2 variables globales, hay muchas posibilidades. Pero si lo que estás programando es una contabilidad, me temo que acabarás necesitando separar las 2 partes en 2 campos.
La excusa de que el usuario teclea menos, no es cierta, cuenta las pulsaciones para escribir 4.1 (3) y 4 intro 1 (también son 3) con la ventaja de que el intro es más fácil de escribir que el punto. Es solo un consejo.