c++ builder XE4, 10.2 Tokyo > 浮動小数の小数桁を自動削除 > 値3.14を"3.14000"でなく"3.14"とする


動作確認
C++ Builder XE4
RAD Studio 10.2 Tokyo Update 2 (追記: 2017/12/27)

ある値を文字列変換するとき、小数桁の余分な0をとりたい場合がある。

2.71821は"2.71821"として表示し、("3.14000"でなく)3.14は"3.14"としたい。

FormatFloat()を使えばできそうだ。

参考http://delfusa.main.jp/delfusafloor/archive/www.nifty.ne.jp_forum_fdelphi/faq/00149.htm

Unit1.cpp
double val = 3.14;
String msg;

msg = String().sprintf(L"%lf", val);
ShowMessage(msg);

msg = FormatFloat(L"0.######", val);
ShowMessage(msg);

(追記 2018/08/01)
上記において書式指定子%lfを使っているが、%fが正しいかもしれない。



2つの変数に対して文字列にするには
double d1 = 3.14;
double d2 = 2.7182818;

String str = FormatFloat(L"0.#####", d1) + L"," + FormatFloat(L"0.#####", d2);
ShowMessage(str);

もっと簡易的な書き方があるかもしれない。