Ver Mensaje Individual
  #2 (permalink)  
Antiguo 25/06/2007, 18:11
Avatar de derkenuke
derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 21 años, 2 meses
Puntos: 45
Re: convertir cadena

Lo primero que debes hacer es transformar moimporte a cadena con .toString(). Si son las primeras 8 posiciones siempre las que son la parte entera, y las siguientes 2 posiciones las que son parte decimal, puedes fácilmente extraer esas dos partes con el método substring(inicio, fin). De esta manera la parte entera y la parte decimal serían:
moimporte.toString().substring(0,8)
moimporte.toString().substring(8,10);

Creo que he puesto los índices correctamente, habría que probarlo.


Y si quieres que la cadena 00000045000000 se quede en ------450000.00 lo único que debes hacer es sustituir los ceros de la izquierda de la parte entera por espacios en blanco (" "). Ésto lo he logrado con una sola línea de la manera siguiente:
Código PHP:
var cadena "00000045000000";
for(
dev=""; /^0/.test(cadena); cadena cadena.substring(1,cadena.length), dev+=" " );
cadena dev+cadena;
alert("'" cadena "'"); 
Hago un bucle for que termina cuando en cadena no se encuentran mas ceros al principio, y en cada iteración voy quitándole a cadena el primer caracter, y voy añadiendo a dev un espacio vacío (equivalente al cero que he quitado). Luego sólo queda concatenar dev con cadena. He probado varias maneras, esa es la que más me ha convencido. Sin embargo no he conseguido hacerlo únicamente con expresiones regulares.



Espero que sea lo que buscas.

Un saludo evoarte.
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.