首页 > 解决方案 > 为什么在检查字符值是否大于数字时得到 TRUE?

问题描述

有人可以向我解释这里发生了什么吗?具体来说:


"9" > 2
# [1] TRUE

"10" > 2
# [1] FALSE

标签: r

解决方案


强制的层次结构是:逻辑 < 整数 < 数字 < 字符。所以在这两种情况下,数字都被强制转换为字符。字符按 ASCII 顺序按位置“排序”。所以"9"大于"2""10"小于"2"因为"1"小于"2"


推荐阅读