文字列の半角数字部分を数値として比較する
!変数宣言は必要 テスト配列とは配列 テスト配列は「abc abc01 abc02 abc1 abc2 abc001 abcd abc1a abc01a abc 01 abc 02 A0010A A010AA A002B A02AA A03 A04 A04a」 テスト配列を配列ソートしていう テスト配列を配列数値ソートしていう テスト配列を「文字列比較(A,B)」で配列カスタムソートしていう テスト配列を「文字列辞書順比較(A,B)」で配列カスタムソートしていう テスト配列を「文字列半角数値順比較(A,B)」で配列カスタムソートしていう /*************************************** * 文字列半角数値順比較 */ ●文字列半角数値順比較(AとBで|Bを) AIとは整数=0 BIとは整数=0 ALとは整数=Aの文字数 BLとは整数=Bの文字数 a=文字列分解(A) b=文字列分解(B) ACとは整数 BCとは整数 ANとは整数 BNとは整数 ASC0とは整数=ASC(`0`) AI<AL&&BI<BLの間 ac=A[AI] bc=B[BI] もし、`0`≦AC&&AC≦`9`&&`0`≦BC&&BC≦`9`なら an=ASC(AC)-ASC0 ai=AI+1 ac=A[AI] `0`≦AC&&AC≦`9`の間 an=AN*10+ASC(AC)-ASC0 ai=AI+1 ac=A[AI] bn=ASC(BC)-ASC0 bi=BI+1 bc=B[BI] `0`≦BC&&BC≦`9`の間 bn=BN*10+ASC(BC)-ASC0 bi=BI+1 bc=B[BI] もし、AN>BNなら、1で戻る もし、AN<BNなら、-1で戻る 続ける もし、AC>BCなら、1で戻る もし、AC<BCなら、-1で戻る ai=AI+1 bi=BI+1 al=AL-AI bl=BL-BI もし、AL>BLなら、1で戻る もし、AL<BLなら、-1で戻る もし、AI>BIなら、1で戻る もし、AI<BIなら、-1で戻る 0で戻る