Enterprise COBOL for z/OS, V4.2, Language Reference
Muitos programas precisam processar informações financeiras e apresentá-las usando os sinais de moeda apropriados.
Com o suporte de moeda COBOL (e a página de código apropriada para sua impressora ou unidade de exibição), você pode usar vários sinais de moeda em um programa.
Você pode usar um ou mais dos seguintes sinais:
- Símbolos como o cifrão ($)
- Sinais de moeda com mais de um caractere (como USD ou EUR)
- Símbolo do Euro, estabelecido pela União Econômica e Monetária (UEM)
Para especificar os símbolos para exibição de informações financeiras, use a cláusula CURRENCY SIGN (no parágrafo SPECIAL-NAMES na seção CONFIGURATION) com os
caracteres PICTURE relacionados a esses símbolos.
No exemplo a seguir, o caractere PICTURE $ indica que o sinal de moeda $ US deve ser usado:
Currency Sign is "$US" with Picture Symbol "$".
. . .
77 Invoice-Amount Pic $$,$$9.99.
. . .
Display "Invoice amount is " Invoice-Amount.
Neste exemplo, se o valor da fatura contiver 1500,00, a saída de exibição será:
Invoice amount is $US1,500.00
Ao usar mais de uma cláusula CURRENCY SIGN no seu programa, você pode permitir a exibição de vários sinais de moeda.
Você pode usar um literal hexadecimal para indicar o valor do sinal de moeda.
O uso de um literal hexadecimal pode ser útil se o método de entrada de dados para o programa de origem não permitir a entrada dos caracteres pretendidos facilmente.
O exemplo a seguir mostra o valor hexadecimal X'9F 'usado como sinal de moeda:
Currency Sign X'9F' with Picture Symbol 'U'.
. . .
01 Deposit-Amount Pic UUUUU9.99.
Se não houver um caractere correspondente para o sinal do euro no teclado, você precisará especificá-lo como um valor hexadecimal na cláusula CURRENCY SIGN.
O valor hexadecimal do símbolo do euro é X'9F 'ou X'5A', dependendo da página de código em uso, conforme mostrado na tabela a seguir.
Tabela 1. Valores hexadecimais do símbolo do euro
Página de código CCSID |
Países aplicáveis |
Modificado de |
Sinal euro |
1140 |
USA, Canada, Netherlands, Portugal, Australia, New Zealand |
037 |
X'9F' |
1141 |
Austria, Germany |
273 |
X'9F' |
1142 |
Denmark, Norway |
277 |
X'5A' |
1143 |
Finland, Sweden |
278 |
X'5A' |
1144 |
Italy |
280 |
X'9F' |
1145 |
Spain, Latin America - Spanish |
284 |
X'9F' |
1146 |
UK |
285 |
X'9F' |
1147 |
France |
297 |
X'9F' |
1148 |
Belgium, Canada, Switzerland |
500 |
X'9F' |
1149 |
Iceland |
871 |
X'9F' |
© Copyright IBM Corp.