C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: Visual Studio C++


(過去ログ 139 を表示中)

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■81862 / inTopicNo.1)  Visual Studio C++
  
□投稿者/ C++勉強中 (1回)-(2016/11/18(Fri) 06:30:57)

分類:[C/C++] 

Visual Studio を使ってC++言語でプログラムを作ってます。
DrawStringを使ってpictureboxの中に変数aの値と後尾に文字列を描画させたいのですが、
変数が小数点以下2桁のみを表記させたいときはどうやって制限かけたら良いのでしょう?
変数a自体はfloat型です。
引用返信 編集キー/
■81864 / inTopicNo.2)  Re[1]: Visual Studio C++
□投稿者/ 魔界の仮面弁士 (961回)-(2016/11/18(Fri) 09:08:44)
No81862 (C++勉強中 さん) に返信
> DrawStringを使ってpictureboxの中に変数aの値と後尾に文字列を描画させたいのですが、

DrawString (≠GdipDrawString) ということは、下記の質問の続きでしょうか。
http://bbs.wankuma.com/index.cgi?mode=al2&namber=81660

もしそうなら、C++/CLI だと思いますので(C++マネージ拡張ではないですよね)
投稿時の分類は "C/C++" ではなく、"C++/CLI" が望ましいかと思います。


> 変数が小数点以下2桁のみを表記させたいときはどうやって制限かけたら良いのでしょう?
> 変数a自体はfloat型です。

小数点以下2桁までではなく、
小数点以下2桁のみにしたいのですね。

小数部を2桁表記にするのは、String クラスの Format メソッドを使えます。
整数部を捨てて、小数部のみにするには、元の値から
int に切り捨てた値を引けば良いのでは無いでしょうか。
引用返信 編集キー/
■81865 / inTopicNo.3)  Re[2]: Visual Studio C++
□投稿者/ 774RR (462回)-(2016/11/18(Fri) 09:37:28)
質問が案件だしレベルで仕様になってないから読者は悩んでしまう感じ

小数点以下2桁のみというだけではあいまいで
値 12.345 に対して、出したい出力が 12.34 (切捨て) なのか 12.35 (四捨五入) なのか 34 なのか 35 なのか
値 -12.345 に対して -12.34 (0に向かって切り捨て) -12.35 か 34 か -34 か 35 か -35 か
値 3.40282E+38F に対して何?
値 NaN や Inf に対して何?
と、プログラムを組むにはその辺「仕様」って奴を決めなきゃ始まらないよ。

引用返信 編集キー/
■81866 / inTopicNo.4)  Re[2]: Visual Studio C++
□投稿者/ 魔界の仮面弁士 (962回)-(2016/11/18(Fri) 09:39:34)
No81864 (魔界の仮面弁士) に追記
>>変数aの値と後尾に文字列を描画させたいのですが、
>>変数が小数点以下2桁のみを表記させたいときはどうやって制限かけたら良いのでしょう?
>>変数a自体はfloat型です。
> 小数部を2桁表記にするのは、String クラスの Format メソッドを使えます。
> 整数部を捨てて、小数部のみにするには、元の値から
> int に切り捨てた値を引けば良いのでは無いでしょうか。

// 小数2桁まで → "5.68"
// 小数2桁だけ → ".68"
float a = +5.6789;

// 結果は「5.68後尾に文字列」
String^ txt1 = String::Format("{0:0.00}後尾に文字列", a);

// 結果は「.68後尾に文字列」
String^ txt2 = String::Format("{0:#.00}後尾に文字列", a - (int)a);
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -