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.