2010-12-03 25 views
23

¿Cómo voy a mostrar número positivo tal como 3 como 3 y los números negativos tales como -5 -5? Por lo tanto, como sigue:JavaScript: muestra números positivos con el signo más

1, 2, 3 entra en 1, 2, 3

pero si esos son

-1, -2, -3 luego entra en -1, -2, -3

+2

¿Cómo desea mostrar '0'? La mayoría parece suponer que debería mostrarse como '0' en lugar de' + 0'. – Guffa

Respuesta

3

escribir una función js que lo haga por ti?

algo así como

var presentInteger = function(toPresent) { 
    if (toPresent > 0) return "+" + toPresent; 
    else return "" + toPresent; 
} 

también se puede utilizar el operador condicional:

var stringed = (toPresent > 0) ? "+" + toPresent : "" + toPresent; 

Gracias a los comentarios por señalar que "-" + toPresent pondría un doble - en la cuerda ....

+0

Esto se mostrará como '+ 3',' + 2 ',' + 1', '0',' --1', '--2',' --3' etc. – LukeH

+0

lo que el cambio a si> 0 return '+' + toPresent else return; –

+0

@lukeh, de hecho, gracias por señalarlo – hvgotcodes

0

algo en la línea de:

if (num > 0) 
{ 
    numa = "+" + num; 
} 
else 
{ 
    numa = num.toString(); 
} 

y luego imprima la cadena numa.

+0

agradable Esto se mostrará como '+ 3',' + 2 ',' + 1', '-0',' - 1', '--2',' --3' etc. – LukeH

+0

Esto mostraría 0 como menos 0 –

+0

Esto devolvería '--5' para la entrada' -5'. –

19
// Forces signing on a number, returned as a string 
function getNumber(theNumber) 
{ 
    if(theNumber > 0){ 
     return "+" + theNumber; 
    }else{ 
     return theNumber.toString(); 
    } 
} 

Esto lo hará por usted.

+5

Gracias a Dios, alguien se dio cuenta de que los números negativos ya están 'firmados' :) –

4
printableNumber = function(n) { return (n > 0) ? "+" + n : n; }; 
18

Se puede utilizar una expresión simple como esto:

(n<0?"":"+") + n 

Los resultados de la expresión condicional en un signo más si el número es positivo, y una cadena vacía si el número es negativo.

No ha especificado cómo manejar el cero, por lo que supuse que se mostraría como +0. Si desea mostrar sólo como 0, utilice el operador <= lugar:

(n<=0?"":"+") + n 
1
function format(n) { 
    return (n>0?'+':'') + n; 
} 
Cuestiones relacionadas