Šioje programoje išmoksite įvairių metodų, kad patikrintumėte, ar Kotline eilutė yra skaitinė, ar ne.
1 pavyzdys: patikrinkite, ar eilutė yra skaitinė
import java.lang.Double.parseDouble fun main(args: Array) ( val string = "12345s15" var numeric = true try ( val num = parseDouble(string) ) catch (e: NumberFormatException) ( numeric = false ) if (numeric) println("$string is a number") else println("$string is not a number") )
Kai paleisite programą, išvestis bus:
12345s15 nėra skaičius
Pirmiau pateiktoje programoje mes turime String
pavadintą eilutę, kurioje yra tikrintina eilutė. Mes taip pat turime loginę reikšmės skaitmenį, kuri saugoma, jei galutinis rezultatas yra skaitinis, ar ne.
Norėdami patikrinti, ar eilutė yra tik skaičiai, o bando blokuoti, mes naudojame Double
's parseDouble()
metodą konvertuoti eilutę iki A Double
.
Jei tai sukelia klaidą (ty NumberFormatException
klaidą), tai reiškia, kad eilutė nėra skaičius, o skaitmeninė vertė yra nustatyta false
. Kitaip, tai skaičius.
Tačiau, jei norite patikrinti, ar kelioms eilutėms jums reikės ją pakeisti į funkciją. Logika pagrįsta išmetimo išimtimis, tai gali būti gana brangu.
Vietoj to, mes galime naudoti reguliarių posakių galią, kad patikrintume, ar eilutė yra skaitinė, ar ne, kaip parodyta žemiau.
2 pavyzdys: Patikrinkite, ar eilutė yra skaitinė, ar nenaudoja taisyklingų posakių (regex)
fun main(args: Array) ( val string = "-1234.15" var numeric = true numeric = string.matches("-?\d+(\.\d+)?".toRegex()) if (numeric) println("$string is a number") else println("$string is not a number") )
Kai paleisite programą, išvestis bus:
-1234.15 yra skaičius
Ankstesnėje programoje, užuot naudoję bandymo gaudymo bloką, mes naudojame regex, kad patikrintume, ar eilutė yra skaitinė, ar ne. Tai daroma naudojant Stringo matches()
metodą.
Pagal matches()
metodą
-?
leidžia nuliui ar daugiau-
neigiamų skaičių eilutėje.\d+
patikrina, ar eilutėje turi būti bent 1 ar daugiau skaičių (\d
).(\.\d+)?
leidžia nulį ar daugiau nurodyto modelio(\.\d+)
, kuriame\.
patikrina, ar eilutėje yra.
(dešimtainiai taškai), ar ne- Jei taip, po jo turėtų būti nurodytas bent vienas ar keli skaičiai
\d+
.
Čia yra lygiavertis „Java“ kodas: „Java“ programa, skirta patikrinti, ar eilutė yra skaitinė, ar ne.