|
Si no has hecho la función todavía quizá te sirva esto.
---funcion cadenita--- :)
parameters cadena ;Le pasamos el numero, pero ya como cadena, o lo pasas a cadena en una función superior, y luego llamas a esta
que es la recursiva y estaría dentro de la que convierte el número en cadena.
devuelve=substr(cadena, 1, 1) ;Cogemos el primer caracter.
longitud=len(cadena) ;Calculamos la longitud de la cadena.
if len(cadena)=1 ;Si la longitud de la cadena es 1, es el último caracter, no hace falta seguir y volvemos. return devuelve ; endif
tocapunto=mod(longitud, 3) ;Comprobamos si la longitud es múltiplo de 3.
if tocapunto=1 ;Si era el cuarto, el séptimo, etc. le ponemos un punto. devuelve=devuelve+'.' endif
pasar=substr(cadena, 2) ;Cogemos la cadena a partir del segundo caracter.
devuelve=devuevlve+cadenita(pasar) ;Llamamos a la función pero con la cadena truncada a partir de segundo caracter.
return devuelve
Yo programaba en foxpro, estas funciones son de foxpro, si no has programado en foxpro no te sonarán los nombres de las funciones,
pero creo que son bastante fáciles de adivinar. Estoy aprendiendo java, pero no se los suficiente (más bien casi nada) como para
poner esto en java, y de C++ no se ni papa. Si te va la marcha puedes hacerlo con funciones numéricas, dividiendo entre mil, y por
cierto, ya ves que no pone nada de decimales, eso lo dejo para tus neuronas ;)
El programa lo he hecho mientras echaba un cigarrito, seguramente la salida de la recursividad la tendrás que ajustar, no creo que
funcione a la primera, pero todo podría ser. La base ya la tienes, ahora es cosa tuya acabarla, cuando la acabes, publicala en el
foro, para que pueda verla en java, o c++.
|