问题:
g_sfa[l_ac].sfa161=g_sfa[l_ac].sfa05/g_sfb.sfb08
例如sfa05=1,sfb08=1800
最后sfa161=0.00056
其实1/1800=0.000555555
取小数点后5位所以等于0.00056
但如果我想最后的结果是0.00055应该怎么写呢,也就是不做四舍五入直接把尾数去掉
g_sfa[l_ac].sfa161=g_sfa[l_ac].sfa05/g_sfb.sfb08
例如sfa05=1,sfb08=1800
最后sfa161=0.00056
其实1/1800=0.000555555
取小数点后5位所以等于0.00056
但如果我想最后的结果是0.00055应该怎么写呢,也就是不做四舍五入直接把尾数去掉
解决方法:
将g_sfa[l_ac].sfa161=g_sfa[l_ac].sfa05/g_sfb.sfb08改为
SELECT trunc(g_sfa[l_ac].sfa05/g_sfb.sfb08,5) into g_sfa[l_ac].sfa161 FROM sfa_file,sfb_file WHERE sfa01=sfb01 and sfb01=g_sfb.sfb01
TRUNC函数介绍
TRUNC for number(数字)
TRUNC函数返回处理后的数值,其工作机制与ROUND函数极为类似,只是该函数不对指定小数前或后的部分做相应舍入选择处理,而统统截去。
其具体的语法格式如下
TRUNC(number[,decimals])
其中:
number 待做截取处理的数值
decimals 指明需保留小数点后面的位数。可选项,忽略它则截去所有的小数部分。
下面是该函数的使用情况:
TRUNC(89.985,2)=89.98
TRUNC(89.985)=89 (即取整)
TRUNC(89.985,-1)=80
注意:第二个参数可以为负数,表示为小数点左边指定位数后面的部分截去,即均以0记。与取整类似,比如参数为1即取整到十分位,如果是-1,则是取整到十位,以此类推;如果所设置的参数为负数,且负数的位数大于整数的字节数的话,则返回为0。如:TRUNC(89.985,-3)=0。
最后欢迎大家加入易拓大家庭,一起学习进步!QQ群53145013
--By 七喜-李