2017-04-26 3 views
1

非常に、ここのJavaScriptは非常に新しいです。私はacrobatの自動入力で文字のシートを作成しようとしていましたが、これまではほとんどのものでうまくいっていました2つの値。Acrobatで負の値を比較する

MaxDexは0より大きい整数にすることができ、DexTempModとDexModは-10〜10の整数にすることができます.dexTempModとDexModが正の場合、下のコードはうまくいきます。MaxDexより大きい場合、MaxDex代わりに。

しかし、DexTempModまたはDexModが負の値である場合、他の値が低いにもかかわらず、MaxDexを出力します。私はいくつかの研究の後に浮動小数点数に解析しようとしましたが、文字列であるかもしれないと考えていましたが、それでも動作しません。

これはAcrobatの単なる制限だとすれば問題ありませんが、少しうんざりです。

if (this.getField("MaxDex").value == ""){if (this.getField("DEXTempMod").value == "") 
    {event.value = this.getField("DEXMod").value} 
    else {event.value = this.getField("DEXTempMod").value}; 
} 
else {if (Float.parseFloat(this.getField("MaxDex").value) < Float.parseFloat(this.getField("DEXTempMod").value) || Float.parseFloat(this.getField("DEXMod").value)) 
    {event.value = this.getField("MaxDex").value} 
    else {if (this.getField("DEXTempMod").value == "") 
     {event.value = this.getField("DEXMod").value} 
     else {event.value = this.getField("DEXTempMod").value};} 
} 

答えて

0
  1. あなたはFloat.parseFloatを使用する必要はありません。フィールドがフィールドプロパティの数値になるようにフォーマットされていることを確認してください。

  2. ||あなたの外側のelseステートメントでは、空のフィールドにも値があるので、任意の値はelseステートメントでtrueと評価されます。

+0

1.ありがとうございました!その部分を編集しました - それらはその分野の数字だけです。 2.また感謝します!私はちょうどDEXModの周りにカッコを入れなければなりませんでした。 DEXTempMod部分が動作し始めました。 –