Python isnumeric Funktion funktioniert nur auf Unicode

8

Ich versuche zu überprüfen, ob eine Zeichenkette numerisch ist oder nicht die isnumerische Funktion verwendet, aber die Ergebnisse sind nicht wie erwartet. Die Funktion funktioniert nur, wenn sie eine Unicode-Zeichenkette ist.

%Vor%

isnumeric funktioniert nur, wenn seine Unicode..Alle Gründe?

    
user1050619 31.05.2013, 18:36
quelle

4 Antworten

5
  

Oft möchten Sie überprüfen, ob eine Zeichenfolge in Python eine Zahl ist. Dies   passiert die ganze Zeit, zB mit Benutzereingaben, Daten abholen von   eine Datenbank (die eine Zeichenfolge zurückgeben kann) oder eine Datei mit   Zahlen. Abhängig davon, welche Art von Nummer Sie erwarten, können Sie   Verwenden Sie mehrere Methoden. Wie das Parsen der Zeichenfolge, mit Regex oder   einfach versuchen, es in eine Zahl zu konvertieren und zu sehen, was   das passiert. Häufig werden Sie auch Nicht-ASCII-Nummern finden, die in codiert sind   Unicode. Dies können Zahlen sein oder auch nicht. Zum Beispiel 2, was 2 in   Thai. Allerdings ist © einfach das Copyright-Symbol und ist natürlich kein a   Nummer.

link: Ссылка

    
maazza 31.05.2013, 18:42
quelle
12

Nur anderer Name.

'1'.isdigit () Wahr

    
Artem Volkhin 31.05.2013 18:38
quelle
4

Laut der Python-Dokumentation ist isnumeric nur für Unicode-Objekte vorhanden :

  

Die folgenden Methoden sind nur für Unicode-Objekte verfügbar:

     

unicode.isnumeric ()

     

Gibt True zurück, wenn nur numerische Zeichen in S vorhanden sind, andernfalls False. Numerische Zeichen umfassen Ziffernzeichen und alle Zeichen, die die Unicode-Zahlenwerteigenschaft aufweisen, z. U + 2155, VULGAR FRACTION EINE FÜNFTE.

    
Justin Ethier 31.05.2013 18:39
quelle
1

isnumeric() hat die Unterstützung für verschiedene Zahlensysteme in Unicode-Strings erweitert.

In Amerika und Europa wird das hindu-arabische Zahlensystem verwendet, das aus 0123456789 Ziffern besteht.

Die hindu-arabischen Ziffern werden vom Unicode auch als europäische Ziffern bezeichnet.

Es gibt andere verfügbare Zahlensysteme wie:

  • Römische Ziffern
  • Antiken griechischen Ziffern
  • Tamilische Ziffern
  • Japanische Ziffern
  • Chineese Ziffern
  • Koreanische Ziffern

Weitere Informationen zu Zahlensystemen finden Sie hier: wikiwand.com/de/Numerals_in_Unicode#/Numerals_by_script

Unicode subscript , superscript und fractions werden von der Funktion isnumeric() ebenfalls als gültige Zahlen betrachtet.

Sie können die Funktion isnumeric () unten verwenden, um zu überprüfen, ob eine Zeichenfolge eine Nicht-Unicode-Nummer ist.

%Vor%

Bearbeiten: Ich werde diesen Beitrag aktualisieren, sobald ich genug Reputation habe, um mehr als 2 Links zu dieser Antwort hinzuzufügen.

    
razvan.paul.blaga 08.09.2015 11:18
quelle

Tags und Links