情報元である詳説正規表現第三版49pに書いてあり、とても疑問に思ったので質問しました。
第2版の英語ではあるが、該当の書籍はネットで読める。
http://docstore.mik.ua/orelly/perl4/mre/mre.pdf
質問されている「詳説正規表現第三版49pに書いてあり」というところは、PDF では p70、紙のページでは p52 が該当する部分だと思われる。
質問で「0.125 の場合のみ 3ケタ」と書かれているのは、「0.375 などは小数点以下 2桁にするのか」と疑問をもっていると読めるが、原著ではそのようには書かれていない。
株価が分数で扱われていたから 0.125 単位の数字だったが、小数点以下3桁目が 0 の場合には 2桁に切り詰めて表示したいのだ、としか読めない。
I boiled down my needs to "always take the first two digits after the decimal point, and take the third digit only if it is not zero. Then, remove any other digits. "The result is that 12.3750000000392 or the already correct 12.375 is returned as "12.375", yet 37.500 is reduced to "37.50". Just what I wanted.
http://docstore.mik.ua/orelly/perl4/mre/mre.pdf
もし、日本語訳がそうなっていないのであれば、ただの誤訳である。
コメント(3件)
記憶がおろそかながら、たぶん違うとおもいますけどね。
1/8刻みのうち、通分できるものは最小桁の0を省略表記したのでしょう。