Ich habe "8 560,90 cur."
. Wie bekomme ich die ganze Nummer 8560
als Integer?Regex für Preis mit und Komma
Ich kann es durch Komma teilen, und dann [0]
als ganze Zahl bekommen, gefragt, ob es mehr Möglichkeiten gibt, es zu tun.
Ich habe "8 560,90 cur."
. Wie bekomme ich die ganze Nummer 8560
als Integer?Regex für Preis mit und Komma
Ich kann es durch Komma teilen, und dann [0]
als ganze Zahl bekommen, gefragt, ob es mehr Möglichkeiten gibt, es zu tun.
Hier ist, wie ich es tun würde:
str = "8 560,90 cur."
str.gsub(/[^\d,]/, '').to_i
# => 8560
Dies beseitigt jedes Zeichen, das keine Ziffer oder ein Komma ist, wodurch man "8560,90"
, ruft dann to_i
drauf, die 8560
gibt. Dies funktioniert so lange, wie Sie wollen, dass jede Ziffer vor dem ersten Komma Teil der Nummer ist und keine danach.
Netter Trick! mit der Konvertierung von float nach int! Vielen Dank. –
"8 560,90 cur.".scan(/(\d*?).+?(\d+,\d\d)/).flatten.join.to_i
# => 8560
"sdwfdsf560,90 cur.".scan(/(\d*?).+?(\d+,\d\d)/).flatten.join.to_i
# => 560
Ja, das funktioniert! Aber ich dachte, es gibt einen einfacheren Weg, es zu tun. Danke trotzdem –
was ist, wenn es "961,03" hat, ohne nbsp dividiert? –
Schreiben von Code wäre ein guter Anfang ... –
wird es immer non-breaking Raum buchstäblich als '& nbsp' geschrieben werden? –
meine Fragen sind für Regex –