isHex () - und isOcta () - Funktionen

7

Ich habe zwei Funktionen. IsOcta und isHex . Kann nicht scheinen, dass isHex richtig funktioniert.
Das Problem in isHex () besteht darin, dass die 'x'-Notation der ursprünglichen Zeichenkette x23 nicht weggelassen werden kann.

Original hex srting kann auch D1CE sein. Das Hinzufügen von x und dann das Vergleichen wird nicht gemacht.

Gibt es eine korrekte Lösung für die isHex-Funktion? Ist isOcta auch korrekt?

%Vor%

Hier ist der Aufruf zu den Funktionen:

%Vor%

Hier ist das Ergebnis des Funktionsaufrufs:

%Vor%

===== KOMPLETTE ANTWORT ====

Danke Layke, um auf die eingebaute Funktion zu verweisen, die testet, ob HEXA DECIMAL Zeichen in einer Zeichenkette vorhanden sind oder nicht. Danke auch Mario für den Hinweis, ltrim zu benutzen. Beide Funktionen wurden benötigt, um isHexa zu erhalten oder um eine Hexadezimalfunktion zu erstellen.

--- BEARBEITETE FUNKTION -

%Vor%

Wahrscheinlich jetzt, ist das die narrensichere Antwort auf die 'ist hexadezimale' Funktion?

    
suswato 28.10.2012, 20:54
quelle

3 Antworten

19

isHexadezimal?

PHP hat eingebaute Funktionen für Hexadezimal.

Siehe die Funktion hier ctype_xdigit : Ссылка

%Vor%

isOktal?

Und um herauszufinden, ob eine Zahl oktal ist, können Sie einfach umdrehen und spiegeln.

%Vor%     
Layke 28.10.2012, 20:58
quelle
2

Sie können Ihre Eingabe mit ltrim() säubern. Fügen Sie es einfach hinzu, bevor Sie die erste Konvertierung durchführen:

%Vor%

Entfernt sowohl führende Nullen (nicht benötigt) als auch x -Zeichen.

    
mario 28.10.2012 20:58
quelle
0

istHexadezimal :: =

%Vor%

isOctal :: =

%Vor%     
18C 27.11.2017 16:50
quelle

Tags und Links