Float をフォーマットするための String Utils ライブラリはありますか
FormatFloat('$0.00', FTotal)
FloatToStrF ?
私は必要なことをすることができました
'$' + format('%0.2f', [FTotal]);
しかし、それらのルーチンがどこかに存在するかどうか知りたいですか?
Float をフォーマットするための String Utils ライブラリはありますか
FormatFloat('$0.00', FTotal)
FloatToStrF ?
私は必要なことをすることができました
'$' + format('%0.2f', [FTotal]);
しかし、それらのルーチンがどこかに存在するかどうか知りたいですか?
基礎となる DWScript コンパイラは、上記のような文字列関数を含むミニ RTL を生成しますFormat(fmt: String; args: array of const): String
。function FloatToStr(f : Float; p : Integer = 99): String;
また、このコンテキストでも機能するも含まれています。
残念ながら、これらのミニ RTL 関数のドキュメントはまだ少し見栄えがよくありませんが、何がサポートされているかについては、https ://bitbucket.org/egrange/dwscript/wiki/InternalStringFunctions.wiki#!internal-string-functions で確認できます。
内部的には、関数は次の場所にマップされます
function Format(f,a) { a.unshift(f); return sprintf.apply(null,a) }
と
function FloatToStr(i,p) { return (p==99)?i.toString():i.toFixed(p) }
独自のコードを記述して、任意の文字列形式を処理することもできます。次のようなものを記述できるように、float ヘルパーを記述するのが最善です。
type
TFloatHelper = helper for Float
function toMyFormat: String;
end;
function TFloatHelper.toMyFormat: String;`
begin
Result := '$' + format('%0.2f', [Self]);
end;
var value = 1.23;
var str = value.toMyFormat;
ただし、これにより、すべての float 値に toMyFormat 拡張機能が追加されます。新しいタイプに制限したい場合は、次のように記述できます。
type
TMyFloat = Float;
TFloatHelper = strict helper for TMyFloat
function toMyFormat: String;
end;
[...]
これが役立つことを願っています。