gpt4 book ai didi

ruby - 如何将一串全角整数字符解析为ruby中的整数

转载 作者:数据小太阳 更新时间:2023-10-29 08:55:05 25 4
gpt4 key购买 nike

如何解析 fullwidth unicode integer characters 的字符串到 ruby​​ 中的整数?

尝试明显的结果;

irb(main):011:0> a = "\uff11"
=> "1"
irb(main):012:0> Integer(a)
ArgumentError: invalid value for Integer: "\xEF\xBC\x91"
from (irb):12:in `Integer'
from (irb):12
from /export/home/henry/apps/bin/irb:12:in `<main>'
irb(main):013:0> a.to_i
=> 0

python 中的等价物给出;

>>> a = u"\uff11"
>>> print a

>>> int(a)
1

最佳答案

Ruby 1.9 的数字解析只考虑 ascii。我不认为有任何方便优雅的解析方法可以正确处理全角 unicode 数字代码点。

一个快速肮脏的 hack 函数:

def parse_utf(utf_integer_string)
ascii_numeric_chars = "0123456789"
utf_numeric_chars = "\uff10\uff11\uff12\uff13\uff14\uff15\uff16\uff17\uff18\uff19"
utf_integer_string.tr(utf_numeric_chars, ascii_numeric_chars).to_i
end

传入一串全角数字字符并得到一个整数。

关于ruby - 如何将一串全角整数字符解析为ruby中的整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3439038/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com