書式変換フォーマットでしたっけな
Posted: 2007年6月09日(土) 09:35
printfで
%d、%f、%sみたいなやつがありますよね??
これをつかいながら最近気づいたことがあります
%fにおいて、整数aの範囲をa > 0としたときに
%.afとしたら小数点以下a桁までの値がその直前の
小数点以下a + 1桁目が四捨五入されて表示されますよね??
そこで
%.adとした場合なんですが
これについてがよくわかりません。
printf("%.4d",123);
の実行結果は確か
0123
だったと思うんですが
これって
%04dだとおもいましたけど、これでおなじことができませんか??
%sにかんしては
char mozi[6] = "hello"
printf("%.4s", mozi);
の実行結果は
hell
なんです。
解説なんかを読むと
表示する最低桁数を設定するものみたいです。int型は初期値が1、doubleは6見たいなふうに
なってるそうです。
intは上の桁から数えてa桁分数えてそれ以下の桁数なら0を左に詰めて表示。
doubleは小数点以下からa桁分表示。
charは最初の文字からa文字目までを表示
ってことになるとおもうんですが、これでいいんでしょうか??
ひさしぶりに質問内容がまとまってると思いますけど(爆
よろしくおねがいしますm(__)m
%d、%f、%sみたいなやつがありますよね??
これをつかいながら最近気づいたことがあります
%fにおいて、整数aの範囲をa > 0としたときに
%.afとしたら小数点以下a桁までの値がその直前の
小数点以下a + 1桁目が四捨五入されて表示されますよね??
そこで
%.adとした場合なんですが
これについてがよくわかりません。
printf("%.4d",123);
の実行結果は確か
0123
だったと思うんですが
これって
%04dだとおもいましたけど、これでおなじことができませんか??
%sにかんしては
char mozi[6] = "hello"
printf("%.4s", mozi);
の実行結果は
hell
なんです。
解説なんかを読むと
表示する最低桁数を設定するものみたいです。int型は初期値が1、doubleは6見たいなふうに
なってるそうです。
intは上の桁から数えてa桁分数えてそれ以下の桁数なら0を左に詰めて表示。
doubleは小数点以下からa桁分表示。
charは最初の文字からa文字目までを表示
ってことになるとおもうんですが、これでいいんでしょうか??
ひさしぶりに質問内容がまとまってると思いますけど(爆
よろしくおねがいしますm(__)m