19

我正在使用公式字段来连接用破折号分隔的 2 个十进制值。但是,我希望结果为两个值修剪所有不必要的尾随零和小数点。

例如,我希望值 10 和 8.5 为“10 - 8.5”。现在它显示“10.00 - 8.50”。

我使用的公式是CSTR({field1}) + " - " + CSTR({field2}).

4

3 回答 3

34

我相信这就是您正在寻找的:

将十进制数转换为仅显示非零小数的文本

特别是这一行可能会有所帮助:

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

第一个参数是要转换的小数,第二个参数是小数位数,第三个参数是千/百万等分隔符。

于 2009-05-15T16:58:59.207 回答
27
CSTR({number_field}, 0, '')

第二个占位符用于小数。

最后一个占位符用于千位分隔符。

于 2012-04-12T18:05:42.220 回答
1

我为此写了一个简单的函数:

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);
)
于 2012-07-27T13:30:52.680 回答