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.