Estoy construyendo un objeto JSON que se envía en una solicitud POST. Este objeto tiene propiedades que deben convertirse de tipo de cadena a tipo entero antes de enviar. ¿Cómo se puede hacer eso con coffeescript?Coffeescript: ¿cómo convierto una cadena en un número?
Respuesta
Utilice la función javascript parseInt
.
number = parseInt(stringToParse, 10);
La referencia es here.
Recuerde, CoffeeScript es sólo javascript después de que ha compilado
función parseInt de Javascript va a lograr este objetivo. Recuerde establecer el parámetro radix para evitar confusiones y garantizar un comportamiento predecible. (Por ejemplo, en CoffeeScript)
myNewInt = parseInt("176.67", 10)
Hay algunos buenos ejemplos en los recursos MDN: https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/parseInt
bien, muchas gracias – nachonachoman
se puede utilizar el menor operador menos evidente, más mágico, teclado intensivo +:
+"158"
¡eso es genial! No puedo encontrar ningún documento sobre esta característica, ¿dónde aprendiste eso? – nachonachoman
No es una función de coffeescript, es un operador unario de JavaScript en el sentido de más/menos al frente de un número. Tenga cuidado de que pueda tener problemas muy rápido al usar esto: 'a = true; + a ++ + + (++ a) ' – Corkscreewe
¿La alerta (id +" 123 ") y la alerta (id +" 123 ") arrojan resultados diferentes? – nachonachoman
Todavía no se ha documentado en el manual oficial, pero parece que los operadores de elenco también funcionan:
myString = "12323"
myNumber = (Number) myString
No es un operador de conversión, está interpretando' (Number) 'como una función (ignorando los parens) con' myString 'como su argumento. Por lo tanto, compila 'Number (myString)', que tiene el efecto deseado. –
Por supuesto. Gracias por la aclaración. – mzedeler
No recomiendo el uso de parseInt
ya que está mal en un caso - que encontré:
parseInt('09asdf', 10);
#> return 09 which is not correct at all. It should return NaN
La respuesta correcta debería ser la de @Corkscreewe. Y hay otro:
cleanInt = (x) ->
x = Number(x)
(if x >= 0 then Math.floor(x) else Math.ceil(x))
Aprender de https://coderwall.com/p/cbabhg
Esta es una forma sencilla para su necesidad. NaN será devuelto como se esperaba.
parseInt("09asdf".match(/^\d+$/)?[0] ? NaN, 10)
Basado en el enlace, se menciona en nXqd's answer, también se puede convertir implícitamente una cadena multiplicándolo por 1:
'123' * 1 // 123
Se comporta correctamente para la entrada incorrecta:
'123abc' * 1 // NaN
Usted puede hacer esto también con flotadores:
'123.456' * 1 // 123.456
stringToConvernt = "$13,452,334.5"
output = Number(stringToConvernt.replace(/[^0-9\.]/g, ''))
console.log(output)
//The output is `13452334.5`.
última línea es incorrecta: 3 'log.console -> console.log' – Illuminator
Siempre estoy usando OR bit a bit para convertir cadenas en enteros.
"99.999" | 0 // returns 99
- 1. ¿Cómo convierto una cadena binaria en un número en Perl?
- 2. en python ¿cómo convierto un número de un solo dígito en una cadena de dos dígitos?
- 3. En Oracle, ¿cómo convierto un número como 1 en una cadena como "1st"?
- 4. ¿Cómo convierto una cadena en un número entero en el objetivo C?
- 5. OCaml - ¿Cómo convierto int en una cadena?
- 6. ¿Cómo convierto una cadena de caracteres en una cadena wchar_t?
- 7. ¿Cómo convierto un entero en una cadena en Excel VBA?
- 8. ¿Cómo convierto una cadena en un char * en C++?
- 9. ¿Cómo convierto un largo en una cadena en C++?
- 10. En Erlang, ¿cómo convierto una Cadena en un valor binario?
- 11. ¿Cómo convierto una cadena en un buffer en Python 3.1?
- 12. ¿Cómo convierto un doble en una cadena en C++?
- 13. ¿Cómo convierto una cadena que se parece a un número hexadecimal a un número hexadecimal real en php?
- 14. ¿Cómo convierto una cadena hexadecimal en un entero con signo?
- 15. ¿Cómo convierto un objeto org.w3c.dom.Document en una Cadena?
- 16. ¿Cómo convierto un InputStream a una cadena en Java?
- 17. ¿Cómo convierto un objeto Rails DateTime en una cadena XML?
- 18. Cómo convierto un nombre de función en una cadena
- 19. ¿Cómo convierto un UIColor en una cadena hexadecimal?
- 20. ¿Cómo convierto una cadena a un tipo int en C#?
- 21. ¿Cómo convierto una cadena en un método de clase?
- 22. ¿Cómo convierto StreamReader a una cadena?
- 23. ¿Cómo convierto una cadena en una representación en minúsculas?
- 24. ¿Cómo convierto una cadena en una lista en Io?
- 25. ¿Cómo convierto una matriz de bytes en una cadena?
- 26. ¿Cómo convierto una cadena ISO 8601 en una Delphi TDate?
- 27. ¿Cómo convierto una cadena JSON a una función en javascript?
- 28. ¿Cómo convierto nchar en cadena en C#?
- 29. ¿Cómo convierto una cadena separada por comas en una matriz?
- 30. ¿Cómo convierto una cadena como "Rojo" en una System.Windows.Media.Color?
sí Terminé haciendo esto gracias – nachonachoman
Tenga cuidado con los números octales cuando use parseInt. – Corkscreewe
Especifique siempre la [raíz] (http://en.wikipedia.org/wiki/Radix), p.'parseInt (stringToParse, 10)' – Stefan