Entiendo, por eso puse el PD y "tiene sus problemas" (uno de ellos es dar la apariencia de que estoy spameando cuando no me interesa hacerlo).
Nota: La iniciación de Num como estaría en todos y es variable no la pongo.
Código AS:
Ver original// Cuenta todo: Parte entera, decimal, punto y signo.
Largo = String(Num).length;
Código AS:
Ver original// Todo salvo el signo, si tiene.
LargoSinSigno = String(Math.abs(Num)).length;
Código AS:
Ver original// Todo salvo el punto, si tiene.
NumAbs = Math.abs(Num);
LargoSinPunto = String(Num).length;
if (NumAbs > Math.floor(NumAbs)) {
// El número abs es mayor que el número abs sin sus decimales, ergo tiene decimales, ergo al largo debe restársele uno, correspondiente al punto.
LargoSinPunto = LargoSinPunto-1;
}
Código AS:
Ver original// Todo salvo los decimales, si tiene.
NumAbs = Math.abs(Num);
LargoSinDecimales = String(Math.floor (Num)).length;
if (NumAbs > Math.floor(NumAbs)) {
// El número abs es mayor que el número abs sin sus decimales, ergo tiene decimales, ergo al largo obtenido (no se contaron sus decimales ni el punto) le sumamos uno, correspondiente al punto.
LargoSinDecimales = LargoSinDecimales+1;
}
Código AS:
Ver original// Todo salvo la parte entera.
LargoSolodeEnteros = String(Math.floor (Math.abs(Num))).length;
LargoSinEnteros = String(Num).length - LargoSolodeEnteros;
Código AS:
Ver original// Todo salvo los caracteres X, si los tiene.
Largo = String(Num).length;
LargoSinXs = Largo;
Cursor = 0;
do {
if ( String(Num).charAt( Cursor ) == "0" ) {
LargoSinXs = LargoSinXs-1;
}
Cursor = Cursor+1;
} while ( Cursor < Largo );