公式字段中的数字转字符串

19

我正在使用一个公式字段来连接两个小数值,用短划线隔开。不过,我希望结果可以裁剪掉两个值中所有不必要的尾随零和小数点。

例如,我希望值为10和8.5变成"10 - 8.5"。而当前它显示的是"10.00 - 8.50"。

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

3个回答

34

我认为这就是你要找的:

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

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

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

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


28
CSTR({number_field}, 0, '')

第二个占位符用于小数。

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


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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接