printfの小数点以下の表示桁数について

このQ&Aのポイント
  • printfの小数点以下の表示桁数について理解したい質問です。
  • 質問者はJava初心者で、System.out.printfの挙動について疑問を持っています。
  • 具体的には、小数点以下の桁数がいくつになるかを決める基準やルールについて知りたいとのことです。
回答を見る
  • ベストアンサー

printfの小数点以下の表示桁数につい

Java超初心者です。宜しくお願い致します。 System.out.printf("%8f\n",15.8); は8桁表示のはずですが、 実行すると、 15.800000 と、いう風に9桁になります。 詳しい方はきっと当たり前と思うと思いますが、 小数点以下の桁数がどういう基準で決められるのか、 つまりゼロ(0)がいくつ並ぶか、というのがよくわかりません。 %12f に変更すると、    15.800000 と、左側にスペースが3つ入ります。 12桁と指定しても、小数点以下のゼロが5つだから、左にスペースが3つ入るわけですよね。 結局、小数点以下の桁数を指定していないのに勝手にゼロが並ぶので、 表示は実行してみるまでどうなるか解らない、という状況です。 規則というか、ルールを解りやすく教えて頂けると嬉しく思います。 宜しくお願い致します。

  • Java
  • 回答数1
  • ありがとう数2

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

  • ベストアンサー
  • salsberry
  • ベストアンサー率69% (495/711)
回答No.1

%fを使うと小数点以下を6桁表示しようとします。 System.out.printf("%8f\n",15.8);の場合は、小数点以下6桁を出力すると全体で最低9桁が必要になるので%8fの8が無視されます。 %12fにすると、12-9=3桁余るのでそこをスペースで埋めます。 小数点以下の表示桁数を制御したい場合は%.5fのような書き方で指定します。

yukiyayako
質問者

お礼

的確かつ解りやすい御返答を感謝致します。 %fの小数点以下は6桁表示なのですね。 ありがとうございました。

関連するQ&A

  • 【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
  • 小数点以下の数字の桁数表示について

    VB6.0で小数点以下の数値が0の場合でも指定した桁数で0も表示するにはどのようにしたらよいですか? 例えば、四捨五入のROUND(0.195000,4)のとき返ってくる数値が「0.195」となり最後の0が表示されません。(以下は4桁表示したいのに) (小数点以下第5位が5なら切り上げで最後に1が表示されますが) エクセルだとセルの書式設定で表示桁数を設定するだけだったのですが。 FIXED関数、TEXT関数はVB6.0では使えないのですよね? VB6.0に詳しい方よろしくお願いします。お手数です。

  • Accessで小数点以下の桁数を・・?

    教えてください。 Accessで小数点以下の桁数を表示したいのですが、プロパティで小数点以下の桁数を表示することができるのですが、実際に入力すると値が四捨五入されてしまい小数点以下の桁数を入力することができません。どうしたらよいのでしょうか?

  • 小数点以下の桁数

    Excelの関数で指定したセルの小数点以下の桁数を返すようなものはありますか?例えば、「1.12345」だったら「5」と返すような・・・。

  • 小数点付の数字の桁数を揃える

    >10 を $suu=sprintf("%03d",$suu); このようにして3桁に揃えると >010 ですが、小数ありの数字を上の方法で桁数を揃えると >10.5 だった場合、小数点以下が無視され、 >010 と表示されます。それを、 >010.5 のように小数つきで桁数を揃えたいのですが、 どうすればいいのでしょうか? よろしくお願いします。

    • ベストアンサー
    • Perl
  • Excelの小数点以下の桁数の既定値を変更する

    いつも勉強させていただいております。 Excelで数値(例えば50000)を入力して、桁区切りをすると、勝手に50,000.00と小数点第二位までが表示されてしまいます。 私はただ50,000という風になればいいだけなのですが、いちいち、セルを選択して数値の小数点桁数を0に変更するという余分な作業が発生しています。 (または、小数点桁下げボタンをクリックしたり) 桁区切りを押したときに、既定値として小数点以下は表示しないようにするにはどうしたらよいのでしょうか? 宜しくお願い致します。

  • EXCEL 小数点以下の桁数を条件によって変えるには

    G列の書式設定を数値、小数点以下0桁に設定してあります D列にある特定の文字が入力された時だけ、小数点以下の桁数を1桁にしたいのですが、どのようにすればよいでしょうか? それと小数点以下0桁、1桁の数字の桁位置をそろえることはできますか

  • ACCESSで小数点以下の表示を制限する

    こんにちは。 ACCESS2003を使っています。 フォーム上で、テーブルの特定の項目(単精度浮動小数点型)を、小数点以下2桁まで表示させています。 この項目は事前に小数点以下3桁目を四捨五入しています。 そしてテーブルの定義で少数点以下2桁まで表示させています。 確かにそのとおり表示されるのですが、そのテキストボックスにカーソルを位置付けると小数点以下10桁以上の小さな数字が表示されてしまいます。 1.これは誤差として避ける事ができないのでしょうか? 2. カーソルを位置づけた時、指定桁数以下を表示させないようにはできないでしょうか?

  • 小数点以下桁数が最大の値に小数点以下桁数を揃えるにはどうしてますか

    小数点以下桁数が最大の値に小数点以下桁数を揃えるにはどうしてますか 例えばSELECT文で取ってきた値が、 0.05と0.1だった場合は、0.1を0.10としたいです。 0.5と2だった場合は、2を2.0としたいです。 1と2だった場合は、1も2も、そのままとしたいです。

    • ベストアンサー
    • MySQL
  • スプレッドシートの小数点以下の表示方法について

    スプレッドシートの小数点以下の表示方法について質問です。 スプレッドシートにて「1.23000(約123円)」の文字を小数点以下2桁だけ残し、残りのゼロ3つを消したいです。こんな感じ「1.23(約123円)」。 「1.20000(約120円)」の時も小数点以下2桁は残して「1.20(約120円)」のような表示にしたいです。 何か良い方法がありましたら教えて欲しいです。 私が試したのは、「テキストを列に分裂(スペース)」を使用すると、自動的に小数点以下のゼロが消えるのですが、1.20000の場合「1.2」の表示で小数点以下2桁を表示させることができず、、小数点以下の桁数を増やすを使用してゼロを付けました。 しかし、最終的には「1.20(約120円)」にように表示させたいため、分裂した列を合体(=A2&B2)すると、結局増やしたゼロが消えて「1.2(約120円)」と表示されてしまいます。 何か良い方法を教えて頂けますと幸いです。

専門家に質問してみよう