java吧 关注:1,190,810贴子:12,602,261
  • 17回复贴,共1

求解。如图,从字符串里取出一个

只看楼主收藏回复

求解。如图,从字符串里取出一个数字字符,为啥要减去‘ 0’才能得到正确答案,如果不减去得到的结果比原来大192。这192又是啥意思


IP属地:河北来自iPhone客户端1楼2017-07-26 16:49回复
    简单来说,比如:300-‘0’


    IP属地:河北来自iPhone客户端2楼2017-07-26 16:50
    回复
      =300


      IP属地:河北来自iPhone客户端3楼2017-07-26 16:51
      回复
        如果300不减去0字符,要等于429的


        IP属地:河北来自iPhone客户端4楼2017-07-26 16:51
        回复
          因为b的类型是char。。
          所以你将'3'转成数字只会得到'3'字符的ASCII码
          那只要用'3'的ASCII码减去'0'的ASCII码就可以得到真正的3了
          至于为什么是192
          我觉得你可以自己认为推算一下为什么


          IP属地:浙江5楼2017-07-26 16:58
          收起回复
            你试着跑一下syso((int)‘0’); 看下输出多少


            IP属地:福建来自iPhone客户端6楼2017-07-26 19:00
            回复
              劝退,半年后再来面试


              IP属地:福建来自iPhone客户端7楼2017-07-26 19:54
              回复
                一个char,一个int,计算的时候,a或者b默认转换为int类型,那就是a,b在ASCII表队形的值
                减'0',减得也是0在ASCII对应的值,
                ASCII中0-9是连着的,所以减完的值就是所谓的正确值,
                你去查下ASCII对应的0-9是多少


                IP属地:陕西来自Android客户端8楼2017-07-27 08:07
                回复
                  我看了你的问题后,又多了一个问题,感觉我的char赋值300都溢出了(瞎猜的)


                  IP属地:北京9楼2019-05-06 13:01
                  回复