ファイルに数字の順で名前付けるとき。

1)ファイル数が二桁ある場合。00・01・02・・10・・99
と1・2でも二桁(01・02)表記すると表示ーアイコンの整列ー名前順 で順番どうり並べることができます。

2)ファイル数が三桁ある場合でも000・001・・999と表記すれば順番どうり並べられます。

ここで 質問なのですが、
0・1・2・3・4・・・12・431などこの場合3桁ですが、0・1・50など3桁以下の数字を そのまま使い名前順にすると
0・1・10・100・11・186・・・というように、名前順が変になりますよね?
桁数を揃えないと、名前順が変になるのは、何故なのか知りたいのです。
まわり くどい書き方になりましたが、わかりますでしょうか?
教えて下さい、お願いします。
(やり方知ってても、理由がわからいと、納得いかないのでここに質問しました)

A 回答 (2件)

ファイル名は数字であっても文字列として扱うので、並べ替えの比較を「左」から行います。


「1」、「11」、「2」とあった場合、一番左の文字は「1」「1」「2」となり「2」が一番大きくなります。同じ文字の場合は次の文字(左から2番目)を同じ様に比較します。
このことにより、一見すると変な並びになります。
考え方として、1,2,3・・の数字をa,b,c・・に置き換えて辞書のように並べてみるとわかりやすいかと思います。
    • good
    • 0
この回答へのお礼

PtoP さん 早速の回答 有難うございました。
わかりやすい 解説で 全て 疑問解決しました。
ありがとう ございました。

お礼日時:2001/11/14 11:05

まず、初めにそれぞれのファイル名の1文字目のみを比較して並べ替えます。


もし、1文字目が同じなら2文字目同士を比較して並べ替えます。
以降、3文字目、4文字目・・・と続きます。
なので、「11」と「100」を比較すると、
 どちらも1文字目が「1」なので2文字目で比較します。
 「11」の2文字目は「1」、100の2文字目は「0」なので「0」の方が小さいで
 す。なので、昇順で並べている場合 は「11」より「100」の方が先にきます。

国語辞典の言葉の並び方と同じ様な感じですね。
    • good
    • 0
この回答へのお礼

pesoさん 早速の回答ありがとうございます。
今迄の もやもや が吹き飛びました。
ありがとう ございました。

お礼日時:2001/11/14 11:02

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


このカテゴリの人気Q&Aランキング

おすすめ情報

カテゴリ