小数0表示について - PHPプロ!Q&A掲示板

2601

  • 0P

小数0表示について

質問日時 / 2010年3月6日 23:38    回答数 / 4件

Questioner:  vodka  このエントリーをはてなブックマークに追加 

キーワード / 小数点    0表示    printf   

MYSQLのデータから数値を画面に表示しようと思っているんですが、小数表示で悩んでいます。
MYSQLのデータはfloat型で32が入力されています。
元はCSVから32.0というデータを取り込んだんですがselect文で表示すると32と表示されます。
画面には32.0と表示したいので

  1. <td><?echo printf("%.1f",$zi3F[1][0]);?></td>

$zi3f[1][0]にはSQL文の結果が入力されていますが
画面には「32.04」と表示されます。

「%.1F」で小数第1位まで表示できると思っていたのですが第2位まで表示されます。
32.0と表示したいのですがどうすればよいでしょうか?
分かる方教えてください。

この質問への意見の募集は締め切られ、ポイントは既に配分されました。
意見を投稿することはできますが、ポイントを受け取ることはできません。



ツリー一覧

┗A01NurseAngelどちらでも。 echo sprintf("%.1f",$zi3F[1][0]);
 ┗A01-1vodkaコメントありがとうございます。 今までは下記のよう
  ┗A01-1-1shimix>下記に変更することによって小数点第1位の0が正しく
   ┗A01-1-1-1vodkaすみません間違えていました。 MYSQLに32.0というデ

回答一覧

並び替え:

A01
answererNurseAngel [3月7日 03:59]

どちらでも。

echo sprintf("%.1f",$zi3F[1][0]);
printf("%.1f",$zi3F[1][0]);

この意見に回答する

ツリーへ TOPへ

A01-1
replyervodka [3月7日 10:37]

コメントありがとうございます。
今までは下記のように表示していたんですが、
  1. echo sprintf("%.1f",$zi3F[1][0]);

下記に変更することによって小数点第1位の0が正しく表示されました。
  1. printf("%.1f",$zi3F[1][0]);
無事解決することが出来ました。
ありがとうございます。

この意見に回答する

ツリーへ TOPへ

A01-1-1
replyershimix [3月8日 08:58]

>下記に変更することによって小数点第1位の0が正しく表示されました。

たしかに、最初に提示されていた『echo printf』だと、printfでの表示+echoprintfの戻り値(文字数)を表示なので'32.0'+'4'になるのは理解出来るのですが、『echo sprintf』でもダメだったというのが再現出来ません。どうダメだったのか(どういう表示になっていたのか)を書いて頂けるとありがたいです。

  1. <?php
  2. $a = 32.0123;
  3.  
  4. echo printf("%.1f",$a)// 32.04(32.0と4)
  5. print "<hr />";
  6. echo sprintf("%.1f",$a)// 32.0
  7. print "<hr />";
  8. printf("%.1f",$a)// 32.0
  9. ?>

この意見に回答する

ツリーへ TOPへ

A01-1-1-1
replyervodka [3月8日 12:23]

すみません間違えていました。
MYSQLに32.0というデータを取り込みました。
しかしコマンドプロンプト上でselect文で表示しても32としか表示されませんでした。
ブラウザには32.0と表示したいので表示関数のechoと書式関数?のprintfを組み合わせて、

  1. echo printf("%.1f",変数);

とプログラムすると32.04と表示されるのでアドバイスにしたがって

  1. printf("%.1f",変数);

とプログラムすると32.0と表示されました。

前回の自分の投稿で

  1. echo sprintf("%.1f",変数);
から変更してと書きましたが、正しくは
  1. echo printf("%.1f",変数);
から変更しての間違いでした。
申し訳ございませんでした。

この意見に回答する

ツリーへ TOPへ

<<質問一覧へ



Pick Up Q&A

Q
PHPのHTML埋め込み記述について
 このエントリーをはてなブックマークに追加 
A
$_POST["data"] == "男" ? $val = "checked" : $val = "" ; の意味は以下と同じです。 if($_POST["data"] == "男"){ $val = "checked; } e...

>>続きを読む

kende様のご指摘通り、三項演算子を使用する際には、コードの複雑度などを考慮する必要がありますね。書きやすさと共に可読性も追求したいところですね。

▲解説者:岡本(アシアル株式会社 教育コーディネーター兼 システムエンジニア)