Domanda

Ho un file di testo larghezza fissa, che è stato estratto dal Comp-3 i dati in stringhe larghezza fissa.

Ho bisogno di sapere come interpretare i seguenti campi:

FIELD-NAME-1 PIC S9(15)V9(3) COMP-3.
FIELD-NAME-2 PIC S9(3)V9(8) COMP-3.
FIELD-NAME-3 PIC S9(3)V9(6) COMP-3.

Questi appaiono nel mio file flat come:

FIELD-NAME-1 0123456789123456780
FIELD-NAME-2 01234567890
FIELD-NAME-3 012345670

Ho bisogno di sapere quali numeri di cui sopra rappresenterebbero.

È corretto:

FIELD-NAME-1 123456789123456.780  --> The first 0 means +ve?
FIELD-NAME-2 012.34567890
FIELD-NAME-3 012.345670

Grazie per l'aiuto. Ham

È stato utile?

Soluzione

L'S9 (15) V9 (3) richiede 19 nybbles (20 in realtà quanto deve effettuare un numero pari di nybbles) per memorizzare:

  • una per il segno.
  • 15 per il bit integer.
  • 3 per il bit non intero (V è un decimale implicita, non reale).

Il segno di solito appare alla fine come un C o un nybble D quindi la risposta a questa domanda dipende interamente da ciò che ha fatto il disimballaggio.

Il primo esempio è in realtà il giusto numero di cifre senza il segno in modo sarei interessato con la sua dichiarazione che uno di loro rappresentava il segno. O che, o hai lasciato fuori il "9". Gli altri due esempi hanno abbastanza cifre sia per il segno e parte numerica.

La cosa migliore, vedere se è possibile ottenere un numero negativo (e di altri dati di test come 1) in là per vedere che cosa genera.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top