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

时间:2009-05-15 16:38:40

标签: crystal-reports data-conversion

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

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

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

4 个答案:

答案 0 :(得分:33)

我相信这就是你要找的东西:

Convert Decimal Numbers to Text showing only the non-zero decimals

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

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

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

答案 1 :(得分:24)

CSTR({number_field}, 0, '')

第二个占位符是小数位数。

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

答案 2 :(得分: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);
)

答案 3 :(得分:-1)

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

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

但如果小数点后面有非零数字,则无效。