为什么Apache Commons认为“१२३”是数字?
2022-08-31 10:02:46
根据Apache Commons Lang的StringUtils.isNumeric()
文档,字符串“१२३”是数字。
由于我认为这可能是文档中的错误,因此我运行了测试来验证该语句。我发现根据Apache Commons,它是数字。
为什么此字符串是数字?这些字符代表什么?
根据Apache Commons Lang的StringUtils.isNumeric()
文档,字符串“१२३”是数字。
由于我认为这可能是文档中的错误,因此我运行了测试来验证该语句。我发现根据Apache Commons,它是数字。
为什么此字符串是数字?这些字符代表什么?
因为“CharSequence只包含Unicode数字”(引用您链接的文档)。
对于 Character.isDigit,
所有字符都返回 true:
某些包含数字的 Unicode 字符范围:
- “\u0030”到“\u0039”,ISO-LATIN-1 数字(“0”到“9”)
- “\u0660”到“\u0669”,阿拉伯-印度数字
- “\u06F0”到“\u06F9”,扩展的阿拉伯语-印度数字
- “\u0966”到“\u096F”,梵文数字
- “\uFF10”到“\uFF19”,全角数字
许多其他字符范围也包含数字。
१२३
是梵文数字: