la mia applicazione accetta una stringa come questa (-110,23, -111.9543633) Ho bisogno di convalidare/recuperare all'interno dello script di scala che la stringa sia numerica o no?Come convalido un carattere numerico in scala?
risposta
Ho provato questo e il suo bel lavoro:
val s = "-1112,12" s.isNumeric & & (s.contains() == false '')
consideri scala.util.Try
per la cattura possibili eccezioni a convertire una stringa su un valore numerico, come segue,
Try("123".toDouble).isSuccess
Boolean = true
Try("a123".toDouble).isSuccess
Boolean = false
Al facilità di uso, considerare questo implicito,
implicit class OpsNum(val str: String) extends AnyVal {
def isNumeric() = scala.util.Try(str.toDouble).isSuccess
}
Quindi
"-123.7".isNumeric
Boolean = true
"-123e7".isNumeric
Boolean = true
"--123e7".isNumeric
Boolean = false
prova di cattura per tale controllo è uno spreco di risorse, è possibile controllare direttamente la stringa –
Supponendo che si desidera non solo convertire utilizzando Try(x.toInt)
o Try(x.toFloat)
, ma in realtà vogliono un validatore che prende un String
e restituire true
se e solo se il passato String
può essere convertito in un A
con implicit evidence: Numeric[A]
.
Quindi direi: Afaik, no non è possibile. In particolare, dal Numeric
non è sigillato. È possibile creare le proprie implementazioni di Numeric
I tipi primitivi come Int, Long, Float, Double
possono essere estratti facilmente con un'espressione regolare.
- 1. Trova il valore numerico di un carattere numerico in C#
- 2. Conversione di un carattere in un valore numerico in R
- 3. come convalido l'input dell'utente come un doppio in C++?
- 4. Come convalido XHTML con nokogiri?
- 5. Come convalido un formato di stringa di data in python?
- 6. Regex per password che richiede un carattere numerico o un carattere non alfanumerico
- 7. Scala: implementazione di un sottotipo di Numerico [T]
- 8. Stampa come un carattere ma ordinamento come numerico in Shiny e DataTable
- 9. SAS: Converti il carattere in numerico senza creare un'altra variabile
- 10. Errore: carattere non numerico in dichiarazione alla etichetta (1)
- 11. Conversione colonna frame di dati da carattere a numerico
- 12. R: riepilogare più colonne (numerico, carattere) e rimuovere NAs
- 13. Come si recupera un semplice valore numerico da un vettore numerico denominato in R?
- 14. Come convertire i caratteri UTF8 in entità di carattere numerico in PHP
- 15. Come convalido il mio file YAML dalla riga di comando?
- 16. Come convertire il carattere in numerico all'interno di data.table per colonne specifiche?
- 17. efficiente ripetere un carattere/stringa di n volte a Scala
- 18. Come ordinare l'elenco numerico?
- 19. jQuery val si rifiuta di restituire un input non numerico da un campo numerico (Sotto Chrome)
- 20. Linea carattere di continuazione a Scala
- 21. Come creare un vettore numerico di lunghezza zero in R
- 22. Come convertire un dataframe di fattore in numerico?
- 23. Come si implementa un logaddexp ponderato in modo numerico stabile?
- 24. In R è meglio usare integer64, numerico o carattere per numeri interi di numeri interi grandi?
- 25. Conversione da varchar a numerico in Informix
- 26. Posso avere un valore negativo come espressione costante in Scala?
- 27. Il modo più veloce per convertire il carattere numerico in R
- 28. Un hash SHA-1 può essere puramente numerico?
- 29. Scala: come incorporare un piccolo server Web in un'app scala?
- 30. Come convalidare l'input numerico C++
Si prega di chiarire se si desidera per convertire in 'Int' o' Double', o piuttosto bisogno di controllare se un 'String' può essere convertito in un tipo che ha un' Numeric implicito [_] ' –
Supponiamo che il mio input arrivi come" 111 "quindi numerico per sollevare una bandiera dicendo il suo numerico, o lo stesso nel caso in cui l'input sia come "-78" ma se il mio input è come "111.67" ho bisogno di alzare il flag come decimale. – yash