c++ builder XE4, 10.2 Tokyo > float > floatの小数桁を調整してString型に変換 > str = FloatToStrF(314.15926535, ffFixed, 7,4); > 314.1593
3386 ワード
動作確認
C++ Builder XE4
Rad Studio 10.2 Tokyo Update 2 (追記: 2017/12/27)
3.141592などのfloatを小数桁数を指定してString型に変換したい。
参考
http://www.delphibasics.co.uk/RTL.asp?Name=FloatToStrF
void __fastcall TForm1::Button1Click(TObject *Sender)
{
float pi100 = 314.15926535;
String str;
str = FloatToStrF(pi100, ffFixed, 7,4); // 1. 数値7桁, 小数4桁
OutputDebugString(str.c_str());
str = FloatToStrF(pi100, ffFixed, 5,4); // 2. 数値5桁, 小数4桁
OutputDebugString(str.c_str());
str = FloatToStrF(pi100, ffFixed, 7,3); // 3. 数値7桁, 小数3桁
OutputDebugString(str.c_str());
}
結果
スレッドの開始 : スレッド ID: 3112. プロセス Project1.exe (2356)
スレッドの開始 : スレッド ID: 2996. プロセス Project1.exe (2356)
デバッグ出力: 314.1593 プロセス Project1.exe (2356)
デバッグ出力: 314.1600 プロセス Project1.exe (2356)
デバッグ出力: 314.159 プロセス Project1.exe (2356)
FloatToStr()の3番目の引数(7など)は数値をいくつまで保持するかということのようだ。
7の場合は、314(3つ) + 1593(4つ)まで保持するということ。
4番目の引数は小数の桁数 (1593)。
3桁とした場合、4桁目が四捨五入されるようだ (詳細は未確認)。
小数桁を4としていても、全体の桁数が5などになり314.16までしか保持されない場合、残りの小数桁は0になる。
Author And Source
この問題について(c++ builder XE4, 10.2 Tokyo > float > floatの小数桁を調整してString型に変換 > str = FloatToStrF(314.15926535, ffFixed, 7,4); > 314.1593), 我々は、より多くの情報をここで見つけました https://qiita.com/7of9/items/7b866de5f236a6d007d8著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .