2017-04-26 4 views
1

매우 JavaScript가 매우 새롭습니다. 저는 Acrobat에서 자동으로 채워지는 문자 시트를 만들려고 노력 해왔고, 지금까지는 대부분의 것들로 좋은 결과를 얻었습니다. 두 값.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 부분과 그것이 작동하기 시작했다. –