2010-10-14 36 views

Trả lời

0

ord

Edit: Rất tiếc, đó không phải là những gì getNumericValue làm. Tôi đoán câu trả lời là không. Bạn sẽ phải tạo một bảng của riêng bạn để ánh xạ các ký tự số thành các số.

Nếu bạn muốn có một chức năng làm việc với các ký tự số phổ biến nhất, bạn có thể làm một cái gì đó như thế này, nhưng nó sẽ không cho chữ số Unicode đặc biệt:

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

Sử dụng intval() chức năng.

Điều này sẽ không xử lý các chữ cái hoặc chữ số La Mã theo cùng một cách, nhưng bạn có thể tạo phương pháp của riêng bạn để làm điều đó cho những trường hợp đó. Nó sẽ xử lý các chữ số chuẩn.

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

'intval' thực sự thú vị. Sử dụng cơ sở 36 cũng sẽ làm cho nó xử lý các chữ cái. – casablanca

+0

Thật tuyệt vời! –

Các vấn đề liên quan