在ruby中将Unicode数字转换为自然数

在ruby中将Unicode数字转换为自然数,ruby,ruby-on-rails-3,unicode,Ruby,Ruby On Rails 3,Unicode,目前我在Rails3项目中面临UNICODE字符的问题。 使用高棉字符数字(unicode字符)字母“៤" 等于4。 我想比较一下៤ >= 但是我不能。 有人能给我一些关于如何比较的建议吗?可能有一些方法可以转换៤ 到4,这样我可以做比较。 注意 我会打字៤ 将键盘从Eng切换到Khm,并按正常方式键入4 谢谢是的,你能做到 "s".ord == 115 #=> true 是的,你能做到 "s".ord == 115 #=> true 数字的行为是否与阿拉伯数字相同?然后,您

目前我在Rails3项目中面临UNICODE字符的问题。 使用高棉字符数字(unicode字符)字母“៤" 等于4。 我想比较一下៤ >= 但是我不能。 有人能给我一些关于如何比较的建议吗?可能有一些方法可以转换៤ 到4,这样我可以做比较。 注意 我会打字៤ 将键盘从Eng切换到Khm,并按正常方式键入4

谢谢

是的,你能做到

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

是的,你能做到

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


数字的行为是否与阿拉伯数字相同?然后,您可以使用此小助手方法将高棉数字字符串转换为整数:

# 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

数字的行为是否与阿拉伯数字相同?然后,您可以使用此小助手方法将高棉数字字符串转换为整数:

# 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

您想将其作为字符串(其中
“10”<“2”
)或数字(其中
10>2
)进行比较吗?如果您想比较字符串,您的问题是如何翻译数字。否则,您的问题是如何在各种脚本中解析数字。不,我不想比较字符串,但我想像这样比较高棉数字。”៤> 3“哪个៤ 等于4。是否将其作为字符串(其中
“10”<“2”
)或数字(其中
10>2
)进行比较?如果你想比较字符串,你的问题是关于如何翻译数字。否则你的问题是关于如何在各种脚本中解析数字。不,我不想比较字符串,但我想比较高棉数字,就像这样“៤> 3“哪个៤ 等于4。