我使用公式字段来连续用破折号分隔的2个十进制值。但是,我希望结果修剪两个值的所有不必要的尾随零和小数点。
例如,我希望值10和8.5为“10 - 8.5”。现在显示“10.00 - 8.50”。
我使用的公式是CSTR({field1}) + " - " + CSTR({field2}).
答案 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”, “”)强>
但如果小数点后面有非零数字,则无效。