• ベストアンサー

出力する桁数

出力する桁数を指定することは可能なのでしょうか。 C言語であれば printf("%5.2lf",x); という風にすれば出来たと思います。 ではJavaではどういう書式になるのでしょうか。

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

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

  • ベストアンサー
回答No.1

class Q5543598{ public static void main(String[] args){ System.out.println(String.format("%1.5f",Math.PI)); } } /* 似たような構文で出来る。 http://java.sun.com/javase/6/docs/api/java/lang/String.html#format%28java.lang.String,%20java.lang.Object...%29 ただし、マニュアルによると、lfなんていうconversionはなく、fである。 上記のプログラムは3.14159を出力する。 */

mamoru1220
質問者

お礼

ご回答ありがとうございました。

その他の回答 (1)

  • tom11
  • ベストアンサー率53% (134/251)
回答No.2

javaのバージョンが新しいなら double x=15.6789001; System.out.printf("%6.3f\n", x); 実行結果 15.679 検索したほうが、詳しい説明と早いですよ。

mamoru1220
質問者

お礼

ご回答ありがとうございました。

関連するQ&A

  • C言語で、数値の桁数を求めるには??

    C言語で数値の桁数を求めるプログラムをもとめたいのですが どうすればいいのでしょうか int c; int a; c=12345; a=printf("%d",c); とするとaに桁数は入るのですが cがPRINTF関数により表示されてしまいます どうすればいいでしょうか? わかる方はおしえてください、おねがいします。

  • Javaでの数値の表示について

    Javaで FORTRANのFORMAT文 WRITE(*,100) X 100 FORMAT(F10.4) やCの printf("%10.4f",x); のように桁数を指定して数値を表示する方法を 教えて下さい。

  • printfの%eで指数部分の桁数を調整する方法?

    書式指定子の%eで、8文字までで出力しなければなりません。 printf("data = %8.3e\n",data); 仮にdataが6.456e5の場合、 data = 6.456e+005 (既に10文字でオーバー) となってしまい、指数部の桁数が3桁になってしまうと 有効数字部分が少なくなってしまうので、 指数部を、1桁にする方法はあるのでしょうか? こんな感じで出力できるでしょうか? data = 6.456e+5

  • Java 出力 桁数調整

    Java初心者です。 JAVAのSytem.out.printの出力の際、 double型の数字の桁数(小数点以下何桁まで表示するか)を調整したいのですが、どのようにやればいいのかわかりません。 教えてください。 あまり詳しくないのでライブラリ等から探す探し方ではなく、 具体的なやりかたを教えてください。 <for emaxple> class warizan{ public static void main(String[] args){ double i=0.0; i = 1/3; System.out.println(i); } } をコンパイルして実行すると出力が 0.33333333333333333333333... となると思うんですが、 0.33 など、小数点以下二桁で出力する方法。 また、よければ大きい数字の桁数調整のやり方も 教えていただけるとうれしいです。 123456789 → 123000000

    • ベストアンサー
    • Java
  • ポインタと出力について

    現在C言語を勉強している者ですが、参考書をもとに自分でソースコードを書いて少し疑問に思った所がありました。以下がそのソースコードです。 #include <stdio.h> int main(void) { int dt = 0x41424344; int *ip; char *cp; ip = &dt; cp = (char *)ip; printf("%x\n", *ip); printf("%x\n", *cp); printf("%x\n", *cp++); printf("%x\n", *cp++); printf("%x\n", *cp++); return 0; } 出力結果は 41424344 44 44 43 42 となります。 私の予想していた結果は 41424344 44 43 42 41 でしたが、結果はなぜか44が二回出力されています。 2番目のprintf("%x\n", *cp); と 3番目のprintf("%x\n", *cp++);は明らかに3番目のprintfが *cp++ で番地が1つ進んでいると思うのですが結果を見る限りでは同じ数字44が出力されています。なぜこうなってしまうのでしょうか? 説明不足でしたらまた追加しますのでどうかよろしくおねがいします。  

  • 標準出力の上書き

    C言語にていての質問です. 一度標準出力に出力した文字の上に上書きして出力することは可能でしょうか? 例えば,カウントダウンするとき 「10」を出力したあとに,同じ部分に「半角空白+9」を出力できますか? printf("10");printf(" 9");では「10 9」になってしまいますよね. よろしくお願いします.

  • Cのdouble変数の出力

    Cの計算プログラム、 double変数GWSの出力が-1.#INF00になりました。 なぜでしょうか? printf("%lf\n",GWS); 教えてください。 お願いします。

  • floatの有効桁数

    floatの有効桁数を調べていると(インターネット)、6桁や7桁というように、サイトによって異なっていました。 私はc言語でfloatが32bitの時を知りたいのですが、どのサイトが本当なのかなどが分かりませんでした。 なぜサイトによってさまざまな有効桁数を書いているのか? 結局floatの有効桁数は何桁なのか? が知りたいです。 よろしくお願いします。

  • C言語の変換仕様について

    C言語の変換仕様について質問させていただきたいのですが、 ある書籍にはdouble型の変数ansを出力するときに、 printf("%lfです。\n", ans); と書かれているのですが、%lfではなくて%fではないでしょうか。 勘違いだったらごめんなさい。

  • アクセスのフォームで、桁数を指定したい。

    例)「1」の場合でも、3桁の設定で「001」としたい。 エクセルで言うところの書式設定でユーザー定義で桁数を指定できるように、アクセスのフォームで指定できないでしょうか? その数値を最終的にバーコード化したいのですが、その桁数が違ってしまって、表現したいバーコードが再現できないのです。 ちなみにテーブル、クエリでは書式の設定で(表面だけかも知れませんが)表示できています。 どなたかよろしくご教授のほどよろしくお願いします。

専門家に質問してみよう