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