zmud吧 关注:1,068贴子:5,437
  • 4回复贴,共1

zmud汉字转数字

只看楼主收藏回复

递归作的,用法@convert(一万零八千)#func convert %eval(%if(%pos(万,%1)>0,@convert(@getleft(%1,万))*10000+@convert(@getright(%1,万)),%if(%pos(千,%1)>0,@convert(@getleft(%1,千))*1000+@convert(@getright(%1,千)),%if(%pos(百,%1)>0,@convert(@getleft(%1,百))*100+@convert(@getright(%1,百)),%if(%pos(十,%1)>0,@convert(%if(@getleft(%1,十)="",一,@getleft(%1,十)))*10+@convert(@getright(%1,十)),(%pos(%1,"一二三四五六七八九")+1)/2)))))#func getleft %if(%pos(%2,%1)>0,%left(%1,%pos(%2,%1)-1),"")#func getright %delete(%1,1,%len(@getleft(%1,%2))+2)


IP属地:北京1楼2009-05-20 14:30回复
    • 222.219.253.*
    himymud,这个能不能解释一下,有点头晕


    2楼2010-01-07 16:40
    回复
      中文数字范围(0-99999999)转换为数字代码 convertcn2num 开发平台zmud7.21
      #var convertcn2num @convertcn2numReal(%replace(%replace(%1,零,),亿,))
      #var convertcn2numReal %eval( %if( %pos( "万", %1)>0, @convertcn2numLow(%left(%1,%eval(%pos(万,%1)-1))), 0)*10000+%if( %pos( 万, %1)>0, @convertcn2numLow(%right(%1,%eval(%pos(万,%1)+1))), @convertcn2numLow(%1)))
      #var convertcn2numLow %eval( %replace( %replace( %replace( %subchar( %replace( %1, "八", 8), "千百十九七六五四三二一", "q b s 9 7 6 5 4 3 2 1 "), q, "*1000+"), b, "*100+"), s, "*10+")+0)


      IP属地:福建8楼2011-10-12 17:42
      回复
        道行转换为数字 有无年天时辰自适应 convertdx2num 开发平台 zmud7.21
        #var convertdx2num %eval( @convertcn2num(%if( %pos( "年", %1)>0, %left(%1,%eval(%pos("年",%1)-1)),0))*1000+@convertcndxday(%if( %pos( "年", %1)>0, %right(%1,%eval(%pos("年",%1)+1)), %1)))
        #var convertcndxday %eval( @convertcn2num(%if( %pos( "天", %1)>0, %left(%1,%eval(%pos("天",%1)-1)),0))*4+@convertcndxhour(%if( %pos( "天", %1)>0, %right(%1,%eval(%pos("天",%1)+1)), %1)))
        #var convertcndxhour %eval( @convertcn2num(%if( %pos( "时辰", %1)>0, %left(%1,%eval(%pos("时辰",%1)-1)),0))/3)
        


        IP属地:福建9楼2011-10-12 17:44
        回复
          刚好用到,多谢多谢。


          IP属地:云南10楼2011-10-24 18:53
          回复