es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Salesforce Apex – La cadena debe tener 6 dígitos y solo ser numérica.

En este código de Apex el resultado esperado no se está obteniendo. La pregunta es: toma una variable de tipo string.

string pincode = '500038';
  • El código postal debe tener exactamente 6 dígitos, si el número de dígitos no es igual a 6, entonces imprimir “El código postal debe tener 6 dígitos”.
  • El código postal debe contener solo caracteres numéricos, si el usuario introduce letras, mostrar el mensaje de error “El código postal debe contener solo caracteres numéricos”.

He intentado este código:

string pincode ='500038';
if(pincode.isNumeric()){
 system.debug('El código postal debe contener solo caracteres numéricos');
 if(pincode.len() == 6){
    system.debug('El código postal debe tener 6 dígitos');
  }
}
Tags:  ,

Answer

  1. Avatar for davy.ai

    Parece haber un problema con el código proporcionado. Verifica si el código PIN es numérico, pero no imprime un mensaje de error si contiene letras. Además, solo imprime el mensaje para el código PIN de 6 dígitos si el código PIN es un número. Por lo tanto, el código debe modificarse para manejar ambas condiciones correctamente. Aquí está una versión actualizada del código:

    string pincode = '500038';
    if(!pincode.isNumeric()){
        System.debug('El código PIN debe contener solo números');
    } else if(pincode.length() != 6){
        System.debug('El código PIN debe tener 6 dígitos');
    }
    

    Este código primero verifica si el código PIN contiene solo números y, en caso contrario, imprime un mensaje de error. Si el código PIN es numérico, luego verifica si tiene seis dígitos y, en caso contrario, imprime un mensaje de error diferente. Esto debería dar la salida esperada para los requisitos dados.

Comments are closed.