Buduję obiekt JSON, który jest wysyłany w żądaniu POST. Ten obiekt zawiera właściwości, które należy przekonwertować z typu łańcucha na typ całkowity przed wysłaniem. Jak to zrobić z coffeescript?Coffeescript: jak przekonwertować ciąg na liczbę?
Odpowiedz
Użyj funkcji javascript parseInt
.
number = parseInt(stringToParse, 10);
Numer referencyjny to here.
Pamiętaj, coffeescript javascript tylko po to skompilowane
funkcja parseInt JavaScript w przeglądarce, będzie to osiągnąć. Pamiętaj, aby ustawić parametr radix, aby zapobiec pomyłkom i zapewnić przewidywalne zachowanie. (Np coffeescript)
myNewInt = parseInt("176.67", 10)
Jest kilka dobrych przykładów w zasobach MDN: https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/parseInt
racja, bardzo dziękuję – nachonachoman
można użyć mniej oczywista, bardziej magiczny, mniejsze klawiatury intensywnie operatora +:
+"158"
to całkiem fajne! Nie mogę znaleźć żadnych dokumentów na temat tej funkcji, gdzie się tego nauczyłeś? – nachonachoman
To nie jest funkcja coffeescript, to operator jednoargumentowy javascript w znaczeniu plus/minus przed numerem. Pamiętaj, że możesz bardzo szybko napotkać problemy: 'a = true; + a ++ + + (++ a) ' – Corkscreewe
Czy alert (id +" 123 ") i alert (id +" 123 ") dają różne wyniki? – nachonachoman
Nie zostało to jeszcze udokumentowane w oficjalnej instrukcji, ale wygląda na to, że operatorzy odlewni również działają:
myString = "12323"
myNumber = (Number) myString
To nie jest operator obsady, interpretuje' (Number) 'jako funkcję (ignorując parens) za pomocą' myString "jako jego argument. Więc kompiluje się do 'Number (myString)', który ma zamierzony efekt. –
Oczywiście. Dziękuję za wyjaśnienie. – mzedeler
Nie polecam korzystania parseInt
ponieważ jest nie tak w jednym przypadku - co znalazłem:
parseInt('09asdf', 10);
#> return 09 which is not correct at all. It should return NaN
Prawidłowa odpowiedź powinna być jednym z @Corkscreewe. I tu jest inny:
cleanInt = (x) ->
x = Number(x)
(if x >= 0 then Math.floor(x) else Math.ceil(x))
Jest to prosta droga do potrzeb użytkownika. NaN zostanie zwrócone zgodnie z oczekiwaniami.
parseInt("09asdf".match(/^\d+$/)?[0] ? NaN, 10)
oparciu o łącza, o których mowa w nXqd's answer, można również niejawnie przekonwertować ciąg, mnożąc ją przez 1:
'123' * 1 // 123
Zachowuje się poprawnie do niewłaściwego wejścia:
'123abc' * 1 // NaN
Możesz to zrobić również w przypadku akcji:
'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`.
ostatnia linia jest niepoprawna: 3 'log.console -> console.log' – Illuminator
jestem zawsze za pomocą bitowego OR do konwersji ciągi do liczb całkowitych.
"99.999" | 0 // returns 99
- 1. Jak przekonwertować ciąg na liczbę w Perlu?
- 2. Postscript: jak przekonwertować liczbę całkowitą na ciąg?
- 3. Jak przekonwertować ciąg znaków na liczbę dziesiętną?
- 4. Jak przekonwertować ciąg binarny na liczbę podstawową 10 w Javie
- 5. Jak przekonwertować ciąg na liczbę całkowitą w systemie UNIX
- 6. Jak przekonwertować ciąg na liczbę całkowitą w typowym seplenie?
- 7. Jak przekonwertować ciąg na liczbę całkowitą w celu C?
- 8. Jak przekonwertować ciąg szesnastkowy na liczbę całkowitą ze znakiem?
- 9. Jak przekonwertować duży ciąg na liczbę całkowitą w java?
- 10. Jak przekonwertować ciąg na liczbę całkowitą w VHDL?
- 11. Jak przekonwertować liczbę całkowitą na ciąg szesnastkowy w systemie Android?
- 12. przekonwertować liczbę na słowa
- 13. Szablon Django przekonwertować na ciąg
- 14. jak przekonwertować ciąg c na ciąg d?
- 15. Jak przekonwertować uint32 na ciąg?
- 16. Jak przekonwertować znak na ciąg?
- 17. Jak przekonwertować JSON na ciąg?
- 18. Jak przekonwertować ciąg na CharSequence?
- 19. Jak przekonwertować ciąg na BigInteger?
- 20. Jak przekonwertować ciąg [] na ArrayList?
- 21. Jak przekonwertować ciąg na długi
- 22. Jak przekonwertować BeautifulSoup.ResultSet na ciąg
- 23. Jak przekonwertować Writer na ciąg
- 24. jak przekonwertować NSinteger na ciąg
- 25. Jak przekonwertować ciąg na android.net.Uri
- 26. Jak przekonwertować ciąg na NSData
- 27. Jak przekonwertować ciąg na bitset?
- 28. Jak przekonwertować odniesienie wyliczeniowe na liczbę?
- 29. Jak przekonwertować liczbę na tekst w Perlu?
- 30. Jak przekonwertować liczbę całkowitą na seryjną
Tak, skończyłem robiąc to dziękuję – nachonachoman
Uważaj na liczby ósemkowe przy użyciu parseInt. – Corkscreewe
Zawsze podawaj [radix] (http://en.wikipedia.org/wiki/Radix), np.'parseInt (stringToParse, 10)' – Stefan