FloatToString(float, int, int)
浮動小数値を文字列に変換する。
string FloatToString( float fFloat, int nWidth = 18, int nDecimals = 9 );
Parameters
fFloat
文字列に変換したい浮動小数値
nWidth
小数点の左側の桁数の指定。省略された場合は18
nDecimals
小数点以下の桁数の指定。省略された場合は9(最大値)
Description
浮動小数値fFloatの値を文字列に変換して返す。
小数点以上の桁はnWidthによって指定され、fFloatの小数点以上の桁より大きい場合はスペースを挿入する。逆に桁より少ない場合、もしくは0を指定した場合はスペーシングは行わない。
小数点以下の桁はnDecimalsにより四捨五入される。0の場合は小数点以下の数値を四捨五入した形となる。
Remarks
小数点以下4桁以降の精度が狂うので、nDecimalsの指定は3以下にしたほうがいい。
通常使う場合は
FloatToString(fFloat, 0, 3);
この指定が一番使いやすい。
KnowBugs
小数点以下4桁以降の精度が狂う
Version
1.22
Example
// 様々な指定をした場合の結果の違いを検証
void main()
{
float fFloat = 12345.67898765432;
float fFloat2 = 12341.2341234;
string sFloat1 = FloatToString(fFloat); // 桁数はディフォルトの18,9
// 結果 " 12345.678710938"
// ※ 小数点以上の指定の桁数に満たない部分はスペースが挿入されている。
// ※ 小数点以下4桁以降は精度が狂う
string sFloat2 = FloatToString(fFloat,0,0);
// 結果 "12346"
// ※ 小数点以上、以下の桁数設定が同じ0でも動作が違う。
// ※ 小数点以下1桁の四捨五入を行っている。
string sFloat3 = FloatToString(fFloat,3,3);
// 結果 "12345.679"
// ※ 小数点以上の桁の切捨て機能はない。
// ※ 小数点以下4桁の四捨五入を行っている。
string sFloat2_1 = FloatToString(fFloat2); // 桁数はディフォルトの18,9
// 結果 " 12341.234375000"
// ※ やはり小数点以下4桁以降は精度が狂う
string sFloat2_2 = FloatToString(fFloat2,0,0);
// 結果 "12341"
// ※ 小数点以下1桁の四捨五入を行っている。
string sFloat2_3 = FloatToString(fFloat2,3,3); // 結果 "12341.234"
// ※ 小数点以下4桁の四捨五入を行っている。
}
See Also
| functions: | FloatToInt | StringToFloat | StringToInt |
| categories: | Type Casting/Conversion Functions |
author: Charles Feduke, editor: Jochem van 't Hull, JP team: ngtaicho
Send comments on this topic.