0

累計文字列を数値に変換する際に問題が発生しました。

累計は、結果を含むフィールドの最大値を取得するように設定されています。グループの変更でリセットされ、特定のテストの結果のみが使用されるように数式で評価されます。
データベースにはテキスト結果を使用したテストと数値結果を使用したテストがあるため、結果データベースフィールドは文字列です。私が除外しているテストには、数値の結果(文字列として保存)しかありません。

積算合計は正常に機能し、正しい結果が得られますが、小数点以下の桁数を設定してレポートで丸めを使用できるように、文字列から数値に変更したいと思います。これが私の問題の始まりです。

  • 私の知る限り、この場合、フォーマットフィールドを使用する方法はありません。(文字列フィールドであるため、これは適切です。)
  • 次の数式で数式フィールドを使用してみました。

    if isNumeric({#P-LDL}) then toNumber({#P-LDL})
    

    ただし、文字列が「2.36」や「3.74」(引用符なし)のように優れている場合でも、null以外のすべての値に対して0.00が返されます。

  • また、グループヘッドのグローバル変数をリセットし、正しいテストの投稿が届いたときに詳細セクションで値を割り当て、最後にグループフッターに表示するという、昔ながらのアプローチを試しましたが、同じ0.00の結果。数値のグローバル変数を使用して詳細レベルで変換を実行することと、文字列変数を使用してフッターレベルで変換を実行することの両方を試しました。
4

1 に答える 1

0

解決しました:

if NumericText(Replace({#P-LDL}, ".", ",")) then
    ToNumber(Replace({#P-LDL}, ".", ","))

愚かなロケール...

于 2012-10-05T11:30:38.820 に答える