quitar - Truncar los ceros a la izquierda de una cadena en Javascript
split javascript (7)
Tengo un cuadro de texto en Javascript. Cuando ingreso ''0000.00''
en el cuadro de texto, quiero saber cómo convertir eso a solo tener un cero ''0000.00''
, como ''0.00''
.
Ok, una solución simple. El único problema es cuando la cadena es "0000.00" el resultado es cero. Pero además de eso, creo que es una buena solución.
var i = "0000.12";
var integer = i*1; //here''s is the trick...
console.log(i); //0000.12
console.log(integer);//0.12
En algunos casos, creo que esto puede funcionar ...
Parece que lo que desea es eliminar los ceros a la izquierda a menos que solo quede uno ("0" para un entero o "0.xxx" para un flotador, donde x puede ser cualquier cosa).
Esto debería ser bueno para un primer corte:
while (s.charAt(0) == ''0'') { # Assume we remove all leading zeros
if (s.length == 1) { break }; # But not final one.
if (s.charAt(1) == ''.'') { break }; # Nor one followed by ''.''
s = s.substr(1, s.length-1)
}
Prueba esto:
<input type="text" onblur="this.value=this.value.replace(/^0+(?=/d/.)/, '''')">
Puedes usar este código:
<script language="JavaScript" type="text/javascript">
<!--
function trimNumber(s) {
while (s.substr(0,1) == ''0'' && s.length>1) { s = s.substr(1,9999); }
return s;
}
var s1 = ''00123'';
var s2 = ''000assa'';
var s3 = ''assa34300'';
var s4 = ''ssa'';
var s5 = ''121212000'';
alert(s1 + ''='' + trimNumber(s1));
alert(s2 + ''='' + trimNumber(s2));
alert(s3 + ''='' + trimNumber(s3));
alert(s4 + ''='' + trimNumber(s4));
alert(s5 + ''='' + trimNumber(s5));
// end hiding contents -->
</script>
Una solución más simplificada es la siguiente. ¡Mira esto!
var resultString = document.getElementById("theTextBoxInQuestion")
.value
.replace(/^[0]+/g,"");
str.replace(/^0+(?!/.|$)/, '''')
''0000.00'' --> ''0.00''
''0.00'' --> ''0.00''
''00123.0'' --> ''123.0''
''0'' --> ''0''
var value= document.getElementById("theTextBoxInQuestion").value;
var number= parseFloat(value).toFixed(2);