2010-10-14 4 views

ответ

0

ord

Edit: К сожалению, это не то, что getNumericValue делает. Я думаю, что ответ - нет. Вам придется составить таблицу, которая отображает числовые символы в числа.

Если вы хотите функцию, которая работает с наиболее распространенными цифровыми символами, вы могли бы сделать что-то подобное, но он не в состоянии будет для специальных 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

Используйте функцию intval().

Это не будет обрабатывать буквы или римские цифры одинаково, но вы можете создать свой собственный метод для этого. Тем не менее, он будет обрабатывать стандартные цифры.

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

'intval' действительно интересно. Использование базы 36 должно заставить ее обрабатывать буквы. – casablanca

+0

Это великолепно! –

Смежные вопросы