2010-10-14 18 views

Odpowiedz

0

ord

Edit: Ups, to nie jest to, co getNumericValue robi. Myślę, że odpowiedź nie jest wtedy. Będziesz musiał stworzyć własną tabelę, która mapuje cyfry na liczby.

Jeśli chcesz funkcję, która współpracuje z najbardziej popularnych znaków numerycznych, można zrobić coś takiego, ale to nie dla specjalnych cyframi Unicode:

function getNumericValue($ch) { 
    if (ctype_digit($ch)) 
    return ord($ch) - ord('0'); 
    if (ctype_upper($ch)) 
    return ord($ch) - ord('A') + 10; 
    if (ctype_lower($ch)) 
    return ord($ch) - ord('a') + 10; 
    return -1; 
} 
2

Użyj funkcji intval().

To nie będzie obsługiwać liter i cyfr rzymskich w ten sam sposób, ale można utworzyć własną metodę, aby to zrobić w takich przypadkach. Będzie jednak obsługiwał standardowe cyfry.

 
if (intval("2") === 2) 
    echo("YAY!"); 
+1

'Intval' jest rzeczywiście interesujący. Używanie bazy 36 powinno sprawić, że będzie również obsługiwać litery. – casablanca

+0

To genialne! –

Powiązane problemy