analizzando un carattere di numeri che inizia con 0 e mantenendo lo zero inizialeCiao,
Voglio fare un vettore di valori che provengono da una colonna in un datatable. Alcuni di questi valori iniziano con il numero zero. Quando uso il comando parse tronca lo zero dall'inizio del numero. La colonna è definita come una colonna di caratteri. Lo script che sto usando è eval (parse (column (DTI, "bar_pen") [i]))); Come posso fare questo e mantenere i miei zeri iniziali?
Grazie,
Tova
Ri: analizzando un carattere di numeri che inizia con 0 e mantenendo lo zero inizialegrazie, è una soluzione molto più ordinata di quella che ho trovato ...
Ri: analizzando un carattere di numeri che inizia con 0 e mantenendo lo zero inizialedt = New Table( "Untitled",
Add Rows( 3 ),
New Column( "Bar_Pen", Character, Set Values( {"0001", "9999", "0900"} ) )
);
list = dt:Bar_pen << getvalues;
show(list); // {"0001", "9999", "0900"};
v = dt:Bar_Pen[3];
show(v, parse(v), char(parse(v))); // "0900", 900, "900"
Potrebbe non essere necessario eseguire l'analisi che converte i dati carattere in codice (che è solo un numero, molto probabilmente.) Quindi non è necessario valutare il codice analizzato, quindi non è necessario convertire la risposta valutata ( un numero) di nuovo a una stringa. Se i valori devono essere eliminati a causa di errori di immissione dei dati, sembra possibile che eval / parse funzionino, ma non funzionerà se un utente dispettoso inserisce un codice errato nella tabella.
Ri: analizzando un carattere di numeri che inizia con 0 e mantenendo lo zero inizialequesto è quello che ha funzionato per me alla fine:
Ripeti ("0", 4 - lunghezza (char (eval (parse (colonna (DTI, "Bar_Pen") [i]))))) || char (eval (parse (colonna (DTI, "Bar_Pen") [i])));