No pretendo armar un problema a partir de una solucion... la idea es entregar distintas versiones de lo que puede servir para llevar a cabo lo que se necesita.
 
Parto destacando en todo caso q no es lo mas limpio dado que me gusta explicar y no entregar las funciones hechas para que puedan explorarlas y optimizarlas. 
De todas maneras y teniendo todo esto en cuenta, utilice solo funciones numericas exceptuando la separacion de caracteres... y para contestar a tus preguntas: 
 Cita:  
					Iniciado por masterojitos  Marvin pero en tu funcion para empezar solo separa por ".", y si tiene una "," ???
    Asi es... 

, y es cosa de agregarle al principio de la funcion 
 Código PHP:
    $num = str_replace(array(",","."),".",$num); 
    
  y quedamos no? 
 Cita:  
					Iniciado por masterojitos  ah verdad, (5-$exd)+($exd) no es igual ah 5 SIEMPRE ??
por que hacer esa operacion.... ??
    Entonces te queda claro que $dos puedes reemplazarlo por 5 y que en la funcion solo es cosa de concatenarlo?... si contestas esta pregunta esta claro porque hacer esa operacion entonces, no? 
 Cita:  
					Iniciado por masterojitos  y por ultimo, complicas mucha la situacion y como dices si es mayor a 100, cae la funcion....
     Cita:  
					Iniciado por Marvin  [...] pero al menos te servira para numeros con decimales menores a 3 digitos
    Dije que hacia otra cosa?? 
Sorry por desvirtuar el tema, pero la idea de todo este espacio es que logremos compartir distintas soluciones a un mismo tema, y cada uno hace lo que cree es mejor para nuestros compañeros programadores. Si a ti te agrada dar las soluciones listas sin explicacion o sin posibilidades de optimizarla, perfecto, pero en mi caso, prefiero ayudar dando poco a poco la solucion o al menos comentando cada trozo de codigo que entrego para que antes de usarlo, comprendan porque lo hacen. 
Suerte! 
