• ベストアンサー

printf() フォーマットの定義について

printf()関数を使ったコードをPHPで書こうとしています。 たとえば、「12.5 cm」をフォーマットするにはどのように書くことができますか? 自分で書いてみたのですが、どうやら間違っているようで、お分かりの方がいらっしゃいましたら教えていただけませんか。よろしくお願いします。                                    ↓                %6.2f %2c

質問者が選んだベストアンサー

  • ベストアンサー
  • arain
  • ベストアンサー率27% (292/1049)
回答No.1

後ろの「%2c」は「cm」を表示する部分ですか? 「%2s」で文字列を渡すか「%c%c」で独立して1文字ずつ渡すかにする必要があると思いますが。

Ajyama
質問者

補足

後ろの「%2c」は「cm」を表示する部分ですか? はい、そうです。 cでなく→sですね。 ありがとうございました。これで一度試してみます。

関連するQ&A

  • printfのコードは?

    C言語において、 printf等の標準関数もC言語で書かれていると聞きましたが、そのコードそのものを見ることが出来るのでしょうか? ご存知の方、よろしくお願いいたします。

  • VB6でprintfのようなこと

    Cではよく、printf("%03d ", i); と書式設定すれば、気の利いたフォーマットで出力されますが、 VB6では、何か便利関数(サードパーティでも可)で同じことはできないでしょうか? またVB6で可変引数はできるのでしょうか?

  • Printfについて教えてください

     今日は。  Cの初心者です、宜しくお願いします。  javaにはPrintとかPrintlnという両方のコマンドがありますが、CにはPrintfしかないのでしょうか。  両方あれば改行コードの書き方が楽だと思うのですが。  皆さんはどのように改行コードを書いているのでしょうか。  宜しくお願いします。

  • Printfについて

     今日は。  Cの初心者です、宜しくお願いします。  javaにはPrintとかPrintlnという両方のコマンドがありますが、CにはPrintfしかないのでしょうか。  両方あれば改行コードの書き方が楽だと思うのですが。  皆さんはどのように改行コードを書いているのでしょうか。  宜しくお願いします。

  • printf()関数の括弧を二重にして、printf((~~~))とし

    printf()関数の括弧を二重にして、printf((~~~))として コンパイル/実行すると、実行時セグメンテーション違反が発生します。 コンパイル時には警告も発生しますが、このセグメンテーション違反が なぜ起こるのか理由がよくわかりません。ご回答いただけるとありがたいです。 以下、サンプルコードと実行例です。よろしくお願いいたします。 ---mytest.c---- 1 #include <stdio.h> 2 3 int main(void){ 4 5 //printf("test:%d", 1)ではもちろんコンパイル/実行に成功する。 6 printf(("test:%d", 1)); 7 return 0; 8 } 【コンパイル/実行結果/gccバージョン】 #gcc main.c main.c:6:警告:passing argument 1 of printf makes pointer from integer without a cast #./a.out セグメンテーション違反です # gcc --version gcc (GCC) 4.1.2 20070925 (Red Hat 4.1.2-27) ・ ・

  • 【PHP】printf()関数の小数点以下の扱い方

    printf()関数で以下のような記述をしました。 関数の引数を計算すると単純で 5 × (1 - 0.35) で結果は 3.25 となります。 これを$%.1f によって出力するため小数点以下は1桁です。 桁数を指定した場合、指定し桁数以下は「四捨五入」されると思っていました。 よって、自分では Price: 3.3 と出力されると考えていましたが 実際には Price: 3.2 と表示されます。 ちなみに 3.25 を round() 関数で使うと 3.3 と返ってきます。 printf()関数で小数点以下の桁数をしてした場合、四捨五入、切り上げ、切り捨て いずれでもない値が返ってくるのでしょうか? このような小数点以下の桁数を扱う方法はPHPの他の関数でも使われるのでしょうか? この方法の呼称というか名称というのはあるのでしょうか? 初学者です。分かりやすく教えていただければ幸いです。 よろしくお願いいたします。! <表示結果> Price: $3.2 3.3 <?php $price = 5; $off = 0.35; printf("Price: $%.1f", $price * (1 - $off)); echo "<br>\n"; echo "<br>\n"; echo round(3.25, 1); ?>

    • ベストアンサー
    • PHP
  • printfが!

    int main(void){ .... while(!(i==EOF)){ num=0; while((i=fgetc(stream))!='\n'){ if(i==EOF) break; str[num]=i; num++; } kannsuu1(); kannsuu2(); } return 0; void kannsuu1(void){ printf("出力されない"); for(i=0;str[i]!=NULL;i=i+2){ printf("%c%c",str[i],str[i+1]);/*これも出力されない*/ } } void kannsuu2(void){ .... } 簡単に上記のように記述したプログラムがあるのですが、コンパイラの警告はまったくかかりませんでしたが、関数の中のprintfがdosプロンプトに出力されないのですよ。だれか心あたりがありましたらおしえてもらえないでしょうか? お願いいたします。

  • printfなど、標準関数のソースコードが知りたい

    C言語、Linux初心者です。 タイトルの通り、printf, scanfなどの関数のソースコードや、main関数の呼出し部分のソースコードを見てみたいのですが、どこにあるのでしょうか。類似質問で http://www.gnu.org/home.ja.html から探せるとの回答がありましたが、出来ればもう少し具体的にお願いします。 RedHat Linux 7.3、gcc version 2.96を使っています。

  • Visual C++ Express Edition でもprintf

    Visual C++ Express Edition でもprintfを使いたい 私は、Visual C++ 2008 Express Editionを使っています。  以前はVisual Studio 2005 Professionalを使っていました。 今まではプログラムを走らせている間の変数の変化を見るために、 printf関数を使って「出力」ウィンドウに数値を表示させていました。 Visual C++ 2008 Express Editionに変更してから、 同一のソースコードをコンパイル、実行しても printf文で記述した出力内容を「出力」ウィンドウに表示させることができません。 これは、Express Edition特有のものでしょうか? printfを使って変数を表示できる方法があれば教えてください。 よろしくお願いします。

  • NSString文字列をprintfで出力するには

    Objective-CでNSStringクラスの文字列をprintf関数で出力しようとするとコンパイルエラーになります。 どうすればprintfで出力できるようになるでしょうか。 実行環境はMacOSX。Xcodeをインストールしています。 ソースコードとエラーメッセージは以下です。 #import <Foundation/NSObject.h> #import <stdio.h> int main(void){ NSString *str01 = @"test"; printf("%s\n", [str01 UTF8String]); return 0; } <コンパイルエラーメッセージ> warning: format ‘%s’ expects type ‘char *’, but argument 2 has type ‘id’

専門家に質問してみよう