実数の表示

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
レフェリア
記事: 33
登録日時: 7年前

実数の表示

#1

投稿記事 by レフェリア » 7年前

いつもお世話になっております。

今回はC++での実数を表示する際に
実数250.5を「0250.500」と表示させたいのですが
0250.5と表示されてしまうのですがどのように修正をすればいいかがわかりません。

よろしくお願いします<(_ _)>

コード:

int main()
{
	double x,y;
	std::ostringstream posion_oss;
	x = 250.5;
	y = 360.5;
	posion_oss.fill('0');
	posion_oss << "(" << std::setw(6) << x << ", "<< std::setw(6) << y << ")";
}

アバター
usao
記事: 1596
登録日時: 7年前

Re: 実数の表示

#2

投稿記事 by usao » 7年前

私も書式には疎いのですが,
precision()というメソッドで小数点以下の桁数を設定できるっぽいです.

コード:

posion_oss.precision( 3 );  //小数点以下の桁数
posion_oss.setf( std::ios::fixed );  //これをsetfしな場合,precision()指定が「全体の桁数」になる?
posion_oss << "(" << x << ", " << y << ")";

レフェリア
記事: 33
登録日時: 7年前

Re: 実数の表示

#3

投稿記事 by レフェリア » 7年前

すいません<(_ _)>
自己解決しました
一応コードを乗せます

コード:

int main()
{
    double x,y;
    std::ostringstream posion_oss;
    x = 250.5;
    y = 360.5;
    posion_oss.setf( std::ios::showpoint );
    posion_oss << "(" << std::setprecision(5) << std::setw(7) << x << ", "<< std::setw(7) << y << ")";
}

レフェリア
記事: 33
登録日時: 7年前

Re: 実数の表示

#4

投稿記事 by レフェリア » 7年前

usaoさん
setprecisionを使うのはわかっていたのですがfixedは盲点でした・・・^^;
一応強引(?)に描画したい形に修正できました。
ありがとうございます^^

閉鎖

“C言語何でも質問掲示板” へ戻る