TC官方合作论坛

标题: 浮点转字符问题 [打印本页]

作者: mxxgmxxg    时间: 2015-9-26 12:50
标题: 浮点转字符问题
整数或浮点数转字符有些问题:比如5转符为 5.000000,5.12转字符为5.120000
目前解决办法是增加一个自定义函数如下:
功能 mystr(dS)
    如果 (是否浮点型(dS))
        dS=字符串修剪(dS)
        循环(字符串截取右侧(dS,1)=="0"||字符串截取右侧(dS,1)==".")
            dS=字符串截取左侧(dS,字符串长度(dS)-1)
        结束
    结束
    返回 dS
结束

作者: 千叶de悠一    时间: 2015-9-26 16:22
//调试输出(补零(5454,10,"后"))
//调试输出(补零(5454,10,"前"))
功能 补零(参_原数,参_位数,前后="前")
    变量 补零格式,返_数
    遍历(变量 i = 0; i < 参_位数; i++)
        补零格式 =  字符串追加(补零格式,0)   
    结束
    如果(前后=="前")
        返_数 = 字符串截取右侧(字符串追加(补零格式,参_原数),参_位数)
    否则如果(前后=="后")
        返_数 = 字符串截取左侧(字符串追加(参_原数,补零格式),参_位数)
    结束
    返回 返_数
结束
功能 字符串追加(参_原字符串,参_追加字符串)
    返回 字符串格式化("%s%s",参_原字符串,参_追加字符串)
结束
作者: 786377161    时间: 2015-9-26 19:12
34566tyz
作者: mxxgmxxg    时间: 2015-9-28 18:42
优化一下更准确
function mystr(dS)
    if (isdouble(dS))
        dS=strtrim(dS)
        while(strright(dS,1)=="0")
            dS=strleft(dS,strlen(dS)-1)            
        end
        if (strright(dS,1)==".")
            dS=strleft(dS,strlen(dS)-1)
        end
    end
    return dS
end





欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/) Powered by Discuz! X3.1