在Ruby中将Unicode编号转换为自然编号

时间:2011-05-18 04:32:32

标签: ruby ruby-on-rails-3 unicode

目前我在Rails 3项目中面临UNICODE角色问题。 在高棉文字符号(unicode字符)中,字母“4”等于4。 我想比较4> = 3但不能。 任何人都可以建议我如何比较它?可能有一些方法可以转换4到4,以便我可以做比较。 注意 我可以通过将键盘从Eng切换到Khm键入4并按正常键入4。

由于

2 个答案:

答案 0 :(得分:1)

这些数字的行为方式与阿拉伯数字相同吗?然后,您可以使用此小助手方法将Khmer-number字符串转换为整数:

# 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

答案 1 :(得分:0)

是的,你可以这样做

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

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