Cobol - Separador de miles en COBOL 400

 
Vista:
sin imagen de perfil

Separador de miles en COBOL 400

Publicado por Rafael (3 intervenciones) el 19/02/2013 21:48:47
Estimados Colegas

Necesito impriir un campo numerico(es un importe)
en el formato $11.111.111,11 o en su defecto 11.111.111,11

el tema es que el editor no me deja poner punto como separador de miles ni coma
menos el signo $....aunque esto ultimo lo puedo cocinar...
Aparece el mensaje utilizacion incorrecta del PIcture y la linea con error en contraste invertido.



Existe alguna palabra clave, hay algun tema con el juego de caracters qie tiene el Cobol 400??


**************************************************
* NO ANDA $ZZ.ZZZ.ZZZ,99.
* TAMPOCO anda $$$.$$$.$$9,99.
* EN CAMBIO si anda $ZZ,ZZZ,ZZ9.99.
**************************************************

Cualquier sugerencia sera bienvenida...

de paso si necesitan alguna ayuda o algun programador freelance para trabajar en forma remota
aqui estoy.

Desde Buenos Aires, un cordial saludo
Rafael Gomez
[email protected]
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Formato de impresión de un campo numérico en importe

Publicado por Alejandro (300 intervenciones) el 11/09/2023 17:13:01
Entiendo que deseas imprimir un campo numérico en formato de importe con el signo de dólar ($) y separadores de miles y decimales. En COBOL, puedes lograr esto utilizando el formato adecuado en la cláusula PICTURE del campo numérico y controlando los caracteres de separación. Aquí tienes un ejemplo de cómo podrías hacerlo:

1
2
3
4
5
6
7
8
9
10
11
12
01 Importe PIC 9(11)V9(2).  /* Declaración del campo numérico */
 
...
 
MOVE 1234567890.45 TO Importe.  /* Asigna el valor al campo numérico */
 
...
 
MOVE Importe TO Importe-Formatted (Reference Modification) /* Copia el valor del campo numérico a un campo de texto con formato */
    FORMAT '$ZZ,ZZZ,ZZZ.99'.
 
DISPLAY Importe-Formatted /* Muestra el importe con el formato deseado */

En este ejemplo:

- Declaras un campo numérico llamado `Importe` con un total de 11 dígitos, incluyendo 2 decimales.
- Utilizas la cláusula `MOVE` para asignar un valor (por ejemplo, 1234567890.45) al campo `Importe`.
- Luego, copias el valor del campo `Importe` a otro campo llamado `Importe-Formatted` utilizando la cláusula `MOVE` con una modificación de referencia para darle formato.
- El formato '$ZZ,ZZZ,ZZZ.99' especifica que el importe debe mostrar el signo de dólar, separadores de miles (coma) y dos decimales.

De esta manera, el campo `Importe-Formatted` contendrá el importe en el formato deseado y puedes imprimirlo o mostrarlo según tus necesidades. Asegúrate de ajustar la longitud del campo `Importe-Formatted` para que sea suficiente para el importe más grande que esperas manejar.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar