2017-11-14 7 views
-1

Der folgende Code gibt einen Fehler, wenn ich mehr als 3 Werte nach der Dezimalzahl eingeben. Aber ich möchte die Länge nach dem Komma von 2 auf 3 erhöhen.Länge nach dem Komma

Ich habe precisionValue.length()>2 auf precisionValue.length()>3 erhöht. aber der Fehler bleibt gleich

 if (str != null && str.length() > 0) { 
     boolean month2 = validator.validateDecimal(str.trim()); 
     if (!month2) { 
      errors.rejectValue(MONTH2, "10005"); 
     } 
     if(str.contains(".")){ 
      String decValue = str.substring(0, str.indexOf(".")); 
      String precisionValue = str.substring(str.indexOf(".")+1); 
      if(decValue.length()>9) { 
       errors.rejectValue(MONTH2, "10035"); 
      } 
      if(precisionValue.length()>2) { 
       errors.rejectValue(MONTH2, "10038"); 
      } 
     } 
     else if(str.length()>9) { 
      errors.rejectValue(MONTH2, "10035"); 
     } 
      } 
+0

Die Erwähnung der Programmiersprache wäre Wizard – JJJ

Antwort

0

Ich habe angenommen, dass es in C# ist und die Syntax korrigiert. Sie können umgekehrt Ihre Programmiersprache erreichen. Wenn ich eine Zahl im Zeichenfolgenformat mit mehr als 3 Nachkommastellen auswähle, sollte sie in errors.rejectValue (month2, "10038") gehen; Codezeile und es funktioniert in erwarteter Weise. Ich kann dein Problem nicht vollständig verstehen.

  string str = "1.2345"; 
      if (str != null && str.Length > 0) 
      { 
       bool month2 = validator.validateDecimal(str.Trim()); 
       if (!month2) 
       { 
        errors.rejectValue(month2, "10005"); 
       } 
       if (str.Contains(".")) 
       { 
        String decValue = str.Substring(0, str.IndexOf(".")); 
        String precisionValue = str.Substring(str.IndexOf(".") + 1); 
        if (decValue.Length > 9) 
        { 
         errors.rejectValue(month2, "10035"); 
        } 
        if (precisionValue.Length > 3) 
        { 
         errors.rejectValue(month2, "10038"); 
        } 
       } 
       else if (str.Length > 9) 
       { 
        errors.rejectValue(month2, "10035"); 
       } 
      } 
Verwandte Themen