COBOL - Edição de inserção flutuante
Este tipo de edição é válido apenas para itens editados por números.
Os seguintes símbolos são usados:
cs + -
Dentro de uma cadeia de caracteres PICTURE, esses símbolos são mutuamente exclusivos como caracteres de inserção flutuantes.
A edição de inserção flutuante é especificada usando uma sequência de pelo menos dois dos símbolos de inserção flutuante permitidos para representar as posições de caractere mais à esquerda nas quais os caracteres reais podem ser inseridos.
O símbolo de inserção flutuante mais à esquerda na cadeia de caracteres representa o limite mais à esquerda no qual o caractere real pode aparecer no item de dados. O símbolo de inserção flutuante mais à direita representa o limite mais à direita no qual o caractere real pode aparecer.
O segundo símbolo de inserção flutuante mais à esquerda na cadeia de caracteres representa o limite mais à esquerda em que os dados numéricos podem aparecer dentro do item de dados. Dados numéricos diferentes de zero podem substituir todos os caracteres em ou à direita desse limite.
Quaisquer símbolos de inserção simples (B 0 / ,) dentro ou imediatamente à direita da sequência de símbolos de inserção flutuantes são considerados parte da sequência de caracteres flutuante. Se o símbolo de inserção especial de ponto (.) estiver incluído na string flutuante, ele será considerado parte da string de caracteres.
Para evitar truncamento, o tamanho mínimo da cadeia de caracteres PICTURE deve ser:
-
O número de posições de caracteres no item de envio, mais
-
O número de símbolos de inserção não flutuantes no item de recebimento, mais
-
Posição de um caractere para o símbolo de inserção flutuante
Representando a edição de inserção flutuante:
Em uma cadeia de caracteres PICTURE, há duas maneiras de representar a edição de inserção flutuante e, portanto, duas maneiras de realizar a edição:
- Qualquer ou todas as posições de caracteres numéricos à esquerda do ponto decimal são representadas pelo símbolo de inserção flutuante. Quando a edição é executada, um único caractere de inserção flutuante é colocado imediatamente à esquerda do primeiro dígito diferente de zero nos dados ou do ponto decimal, o que estiver mais à esquerda. As posições dos caracteres à esquerda do caractere inserido são preenchidas com espaços.
Se todas as posições de caracteres numéricos na cadeia de caracteres PICTURE forem representadas pelo caractere de inserção, pelo menos um dos caracteres de inserção deverá estar à esquerda do ponto decimal.
- Todas as posições dos caracteres numéricos são representadas pelo símbolo de inserção flutuante. Quando a edição é realizada, então:
- Se o valor dos dados for zero, todo o item de dados conterá espaços.
- Se o valor dos dados for diferente de zero, o resultado será o mesmo da regra 1.
Por exemplo:
PICTURE | Value of data | Edited result |
$$$$.99 | .123 | $.12 |
$$$9.99 | .12 | $0.12 |
$,$$$,999.99 | -1234.56 | $1,234.56 |
+,+++,999.99 | -123456.789 | -123,456.78 |
$$,$$$,$$$.99CR | -1234567 | $1,234,567.00CR |
++,+++,+++.+++ | 0000.00 | |