Domanda

Sto usando un campo di formula per concatonate 2 valori decimali separati da un trattino. Tuttavia, voglio il risultato per tagliare tutti gli zeri finali unneccesary e punti decimali per entrambi i valori.

Per esempio, io voglio valori 10 e 8.5 per essere "10-8,5". Ora si vede. "10,00-8,50"

La formula che sto usando è CSTR({field1}) + " - " + CSTR({field2}).

È stato utile?

Soluzione

Credo che questo sia quello che stai cercando:

Convertire numeri decimali di testo che mostra solo i non-zero decimali

In particolare questa linea potrebbe essere utile:

StringVar text     :=  Totext ( {Your.NumberField} , 6 , ""  )  ;

Il primo parametro è decimale da convertire, il secondo parametro è il numero di cifre decimali e il terzo parametro è il separatore per migliaia / milioni ecc

Altri suggerimenti

CSTR({number_field}, 0, '')

Il secondo segnaposto è per i decimali.

L'ultima segnaposto è per separatore delle migliaia.

ho scritto una funzione semplice per questo:

Function (stringVar param)
(
    Local stringVar oneChar := '0';
    Local numberVar strLen := Length(param);
    Local numberVar index := strLen;

    oneChar = param[strLen];

    while index > 0 and oneChar = '0' do
    (
        oneChar := param[index];
        index := index - 1;
    );

    Left(param , index + 1);
)

Si può anche provare a utilizzare la funzione di sostituzione:

sostituire ( "10.00", "00", "")

ma non funziona se ci sono numeri diversi da zero dopo la virgola.

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