0

$dollars の形式で数値を入力として取得する for コントロールを使用すると、パフォーマンスの問題が発生します。このパフォーマンスの問題を克服するために、代わりに次の計算機能を使用し、コントロールのバインドに実装しました。

<xforms:bind id="Amount" 
             nodeset="instance('sample_form')/Amounts/Amount" 
             calculate="if (. !=0) 
                        then format-number(xs:double(.),'$#,##0.000') 
                        else ."/>

しかし、上記のコードの問題は、コントロールの値を文字列型に変換することで、これに依存する値を持つコントロールでエラーが発生することです。上記の問題の解決策を提供するか、この状況を処理するためのより良い推奨事項を提供してください。

4

1 に答える 1

0

フォーマットされた値のみを表示したい場合(を使用することを考えているので、これが当てはまると思います)、次の内部calculateにその式を配置できます。calculate

<xforms:output value="..."/>

<fr:currency>入力と出力の両方が必要で、インスタンスに格納されている値をフォーマットされていない数値にしたい場合は、によって提供される機能を何らかの方法で再実装する以外に、簡単に使用できる方法はないと思います<fr:currency>。入力と出力の両方が必要な場合は、これをさらに調査して、パフォーマンスの問題の原因を見つけて解決することをお勧めします。

于 2011-05-03T17:14:00.137 に答える