我使用的公式字段concatonate 2个用破折号分开的十进制值。然而,我想要的结果修整所有unneccesary尾随零和小数点为两个值。

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

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

有帮助吗?

解决方案

我相信这是你要找的内容:

转换小数为文本仅示出非零小数

特别是这条线可能是有益的:

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

的第一个参数是十进制转换,第二个参数是小数位和第三参数的数目被千/百万等

的分离器

其他提示

CSTR({number_field}, 0, '')

在第二占位符是小数。

在最后一个占位符是千位分隔。

我写一个简单的函数为这样的:

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

您也可以尝试使用替换功能:

<强>替换( “10.00”, “00”, “”)

但如果有小数点后非零数字它不会工作。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top