为什么charAt运算要-‘0’

发布时间 2023-08-31 10:37:03作者: xiaolifc

今天刷算法遇到的一个题里用到了这个运算。不太明白为什么要-0

int digitA = i >= 0 ? a.charAt(i) - '0' : 0; // 当前 a 的取值

查询过后才知道,char运算本质是转换为ASCII码进行运算,'0'在ASCII码中表示48,'0'前面的表示一些符号。减去0得到才是数字,如果不减,可能会得到一些符号。

附ASCII码表