Question

J'utilise un champ de formule concatonate à 2 valeurs décimales séparées par un tiret. Cependant, je veux que le résultat de rogner tous les zéros unneccesary et chiffres après la virgule pour les deux valeurs.

Par exemple, je veux des valeurs 10 et 8.5, "10 - 8.5". Maintenant, il montre. « 10,00 à 8,50 »

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

Était-ce utile?

La solution

Je crois que c'est ce que vous cherchez:

Convertir des nombres décimaux en tant que texte ne montrant que les décimales non nuls

En particulier, cette ligne pourrait être utile:

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

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

Autres conseils

CSTR({number_field}, 0, '')

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

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

je l'ai écrit une fonction simple pour ceci:

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);
)

Vous pouvez également essayer d'utiliser la fonction remplacer:

remplacer ( "10.00", "00", "")

mais il ne fonctionnera pas s'il y a un nombre non nuls après la virgule.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top