web-dev-qa-db-fra.com

Nombre à chaîne dans un champ de formule

J'utilise un champ de formule pour concaténer 2 valeurs décimales séparées par un tiret. Cependant, je veux que le résultat supprime tous les zéros de fin et les décimales inutiles pour les deux valeurs.

Par exemple, je veux que les valeurs 10 et 8.5 soient "10 - 8,5". Maintenant, il affiche "10.00 - 8.50".

La formule que j'utilise est CSTR({field1}) + " - " + CSTR({field2}).

16
Mike Cole

Je pense que c'est ce que vous recherchez:

Convertir les nombres décimaux en texte affichant uniquement les décimales non nulles

Cette ligne peut être particulièrement utile:

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

Le premier paramètre est la décimale à convertir, le deuxième paramètre est le nombre de décimales et le troisième paramètre est le séparateur pour des milliers/millions, etc.

33
Sam Trost
CSTR({number_field}, 0, '')

Le deuxième espace réservé est pour les décimales.

Le dernier espace réservé est pour le séparateur de milliers.

24
Paul Grimes

j'ai écrit une fonction simple pour cela:

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);
)
1
Robert Niestroj