From: "Nobuyoshi.Nakada" Date: 2000-11-27T16:39:08+09:00 Subject: [ruby-list:26198] Re: sprintf problem? なかだです。 At Mon, 27 Nov 2000 16:11:44 +0900 Junya Ishikawa wrote: > ruby-1.6.1で、sprintfを使って、数字に前0をつけてある固定長に変換しよう > とすると、変換前の数字が0で始まっている場合、期待どおりの変換を行なっ > てくれません。 0 で始まってると 8 進数と見なされるってことだと思いますが、そもそも String に %d を指定しようってあたりがおかしいような気がします。 > irb(main):001:0> printf "%07d\n", "0123" > 0000083 printf "%07d\n", "0123".to_i 0000123 > ruby-1.4.6では、変換前の文字列が0で始まっていても、期待通りの結果が得 > られます。 > irb(main):002:0> printf "%07d\n", "0123" > 0000123 > > 環境は、Solaris 2.5 (sparc)なので、環境依存か?と思って、Linuxでもコン > パイルしてみたところ、同じ現象が発生しました。何か仕様が変わったので > しょうか? いつから変わったかはちと未確認ですが。 -- --- 僕の前にBugはない。 --- 僕の後ろにBugはできる。 中田 伸悦