Frage

Ich bin mit einem Formelfeld 2 Dezimalwerte durch einen Bindestrich getrennt concatonate. Allerdings möchte ich das Ergebnis alle unneccesary nachgestellte Nullen und Nachkommastellen für beide Werte trimmen.

Zum Beispiel, ich mag Wert 10 und 8,5 zu sein "10 - 8.5". Jetzt zeigt es. „10,00 bis 8,50“

Die Formel ich verwende ist CSTR({field1}) + " - " + CSTR({field2}).

War es hilfreich?

Lösung

Ich glaube, das ist das, was Sie suchen:

konvertieren Dezimalzahlen nur die Nicht-Null-Dezimalzahlen zeigt in Text

Insbesondere könnte diese Linie hilfreich sein:

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

Der erste Parameter ist die Dezimalzahl umgewandelt wird, ist der zweite Parameter die Anzahl der Dezimalstellen und der dritten Parameters ist der Separator für Tausende / Millionen usw.

Andere Tipps

CSTR({number_field}, 0, '')

Der zweite Platzhalter ist für Dezimalzahlen.

Der letzte Platzhalter ist für Tausendertrennzeichen.

i schrieb eine einfache Funktion für diese:

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

Sie können auch versuchen, die Ersetzen-Funktion verwenden:

ersetzen ( "10.00", "00"., "")

, aber es wird nicht funktionieren, wenn es nicht Null Zahlen nach dem Komma.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top