Catia V5 por el “Juanri”: El Sitio del Catia en Español

Link de Interes | Novedades | Mapa | Buscar
Mis Normas | Mis Cosas | Quiero aprender Catia | Historia de la web | ¿Como empiezo?
Simbología | Concursos | CATDUA | Trasferencia de ficheros
Indice Gral. | Drawing |Navigator | Entorno | Part Design | G.Shape D. | DMU_Assembly|Trucos
Indice de general | Ind. 3D | Ind. superficies | Ind. cinematica | Ind. engranajes | Ind. Otros
Indice gral. | Entorno | Alambrico | Solidos | Cinematica | Otros
Geometría Descriptiva
Power Copy, User Features y Aplicaciones
Juego: Ahorcado y Porra Americana
Cursos en IFES | Otros Cursos | Cursos Previstos

Está Vd. en: FAQ Hoja2 >>Trucos > 020_Extraer caracteres.

  ¿Cómo puedo obtener los tres “caracteres” decimales de una operación resultante de dividir un número real (0,1 o 0,25 o 0,50) por 100 y que no me quite el cero final?

 Esta pregunta la hace “flangs” en auxcad.
  Pues es cuestión de echarle un poquito de imaginación... o tener experiencia como programador, que es mi caso

  Editamos el parámetro “String_Real” y ponemos la siguiente fórmula:
 String_Real = ToString (Real.1 / Integer.1  ) + "000"

Formula para "String_Real"

Explicación:
ToString => Convertimos a String (cadena de caracteres alfabéticos) el resultado de dividir “Real.1” por “Integer.1”.
  Pero como las matemáticas son mu “cabezonas” y nos pueden quitar los ceros finales, les añadimos 3 ceros mas  (será por ceros... con lo baratos que son...). Esto se hace con  el signo mas seguido de los caracteres (entre comillas) que queremos añadir, quedando así:
String_Real =
       ToString (Real.1 / Integer.1  ) + "000"
Si damos OK el resultado puede ser este:

resultado primera formula


Y para “Real.1” = 1, este otro:

valor para 1

  Y ahora extraemos los tres decimales:
Vamos al parámetro “Tres_Decimales” damos con el menú contextual a “Formula..” y:

dictionary

· Tómese un parámetro de tipo “Stringcadena (viene el signo ->) “Extract” y Extráigase del parámetro anterior desde el carácter “tal” (ahí se espera un número entero (Integer) (viene un signo de coma) tantos caracteres (ahí se espera un número entero (Integer)) (le sigue un signo de dos punto) Y dá como resultado un “String” (osease una cadena)

  Por lo tanto nosotros ponemos:

resultado final

  Esto será válido siempre y cuando la parte entera tenga SOLO un carácter, dado que hemos dicho “empezar en el dos” (la parte entera y el signo de la coma) y desde ahí extraer tres caracteres.


Y damos a OK.

  P.D.: Que no venga un “listillo” a decirme “Juanri: con dos ceros que se añada basta..” Es que a mi me gusta poner de más, vale?
  Si la parte entera tiene mas de dos dígitos o la división da resultado entero (sin decimales), habría que recurrir a una “Rule” (Regla)... pero todo tiene solución, menos la muerte.... largato, lagarto...
  Por ejemplo esta es más estable:
Tres_Decimales = String_Real ->Extract(String_Real ->Search (",") +1 , 3)

Pensad vosotros el porqué....y me contáis.

Por cierto: Hoy es el aniversario de mi boda con mi querida esposa Maria Jesús. Te quiero cariño!!

Dado por el Juanri en Sevilla a 19/07/2010

Volver al Indice Piense en sus nietos!! Dirija sus preguntas a: juanri@muchocatia.es CATIA V5 R16