Преобразовать номер Юникода в натуральное число в рубине - PullRequest
1 голос
/ 18 мая 2011

В настоящее время я сталкиваюсь с проблемой с символом UNICODE в моем проекте Rails 3.В кхмерском символе номер (символ Юникода) буква «៤» равна 4. Я хочу сравнить ៤> = 3, но не могу.Может кто-нибудь предложить мне идею о том, как сравнить это?Может быть, есть какой-то метод, который может конвертировать ៤ в 4, чтобы я мог сравнить. Примечание Я могу печатать ៤, переключая клавиатуру с Eng на Khm и печатая как обычно.

Спасибо

Ответы [ 2 ]

1 голос
/ 18 мая 2011

Числа ведут себя так же, как арабские цифры? Затем вы можете использовать этот маленький вспомогательный метод для преобразования строки кхмерского числа в целое число:

# encoding: utf-8

class String
  def to_khmer
    num_string = chars.map{ |c| %w[០ ១ ២ ៣ ៤ ៥ ៦ ៧ ៨ ៩].index(c) || c }.join
    if num_string =~ /\./
      num_string.to_f
    else
      num_string.to_i
    end
  end
end
0 голосов
/ 18 мая 2011

Да, вы можете сделать это

"s".ord == 115 #=> true

115.chr == "s" #=> true
4.chr.ord == 4 #=> true
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...