私のフォームには、計算する必要がある 4 つのフィールドがあり、結果は PaymentAmount という最後のフィールドに表示されます。PaymentAmount のカスタム コンバーターを使用することをお勧めしました。これは、他の 4 つのフィールドの onchange イベントの PaymentAmount を部分的に更新するだけでよいためです。
これは非常にうまく機能しますが、私の問題は、結果の形式が間違っていることです。
私のコードは次のようになります。
getAsObject()
try {
var transCode = getComponent("TransactionCode").getValue();
var nominal = getComponent("Nominal").getValue();
var price = getComponent("Price").getValue();
var qFactor = getComponent("QuoteFactor").getValue()||1;
var fee1= getComponent("Fee1").getValue()||0;
var fee2= getComponent("Fee2").getValue()||0;
var fee3= getComponent("Fee3").getValue()||0;
var feeTotal = fee1+fee2+fee3;
var paymentAmount = nominal * (price * qFactor);
if(transCode == "Buy") {
paymentAmount+=feeTotal;
} else if(transCode == "Sell") {
paymentAmount -= feeTotal;
} else return 0;
return paymentAmount;
} catch(e){
dBar.error(e);
}
getAsString()
return value.toString();
java で使用可能なすべてのメソッドとオブジェクトを使用して結果をフォーマットしようとしました。 String.format("%.2f", value); しかし失敗しました。
ロケール 10000*1,44+1,2 = 14401,2 に従って値を入力すると、PaymentAmount に表示される結果は 14401.2 になります。ロケール 14001,2 に従って表示したいと思います。
たとえば、getAsString() で次を使用すると、このエラーが発生します。
try {
var val = java.lang.String.format("%.2f",value);
} catch(e) { dBar.error(e); }
com.ibm.jscript.InterpretException: Script interpreter error, line=2, col=28: Java method 'format(string, number)' on java class 'java.lang.String' not found
getAsString() の値の正しいデータ型を取得できません。
私の以前の質問を見たりコメントしたりしたあなたのために、私はこれらの「ローカリゼーションの問題」に再び行き詰まっています...
ご意見をお聞かせください
/M