去除水晶报表小数点最后多余的0

本文介绍如何创建自定义函数TrimPointZero,用于处理水晶报表中的数字字符串,移除小数点后多余的0。函数首先判断输入是否为数字,然后检查是否存在小数点。如果不存在小数点,直接返回原始值。反之,通过分割小数点得到数组,遍历小数部分计算0的数量。如果所有尾部都是0,则返回整数部分;否则,根据情况重新组合字符串,移除小数点后的0。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、新建自定义函数TrimPointZero

2、编写函数体 如下:

Function (stringVar  str)
//如果不是数字型 返回原来的值日
if not NumericText(str)  then
   str
else
(  
    numbervar iPointNum:=InStr (str, '.');//判断该数字是不是含有小数点
    //如果没有小数点 返回原来的值
    if iPointNum<=0 then
       str   
    else
    (
        //把小数点根据小数点号分隔成数组      
        stringvar array strs:=Split (str,".");
        
        stringvar strres:=strs[2]; //数字小数点部分的字符串

        numbervar j:=0;//小数点最后面0数量
        Local NumberVar i;//变量循环
         //循环得到小数点最后面0数量
        for i :=length(strres) to 1 step -1 do
        (       
            if mid(strres,i,1)<>'0' then
               i:=0
            else        
               j:=j+1;       
        );

        if j=length(strres) then//如果最后全部为0 返回整数
        (
            if iPointNum=1 then
            (
                '0'
            )
            else
                strs[1]
        )
        else
        (   
            if iPointNum=1 then
            (
                '0'+'.'+mid(strres,1,length(strres)-j)
            )
            else      
                strs[1]+'.'+mid(strres,1,length(strres)-j)
        )
     )
)
 3、完成调用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值