目的:把小数位后面的0截取掉,有多少钱位就显示多少位,最后的0去掉
PRIVATE FUNCTION cxmt630_g01__delfloat(p_num)
DEFINE p_num LIKE bmfb_t.bmfb011
DEFINE p_str STRING
DEFINE l_float STRING
DEFINE l_int STRING
DEFINE l_count INTEGER
DEFINE l_length INTEGER
DEFINE l_float_length INTEGER
DEFINE l_i INTEGER
#組合bmfb011/bmfb012
LET p_str = p_num
LET l_count = p_str.getIndexOf(".",1)
LET l_length = p_str.getLength()
LET l_int = p_str.subString(1,l_count-1)
LET l_float = p_str.subString(l_count+1,l_length)
LET l_float_length = l_float.getLength()
FOR l_i = 1 TO l_float_length
IF l_float.subString(l_float_length+1-l_i,l_float_length+1-l_i) <> '0' THEN
EXIT FOR
END IF
END FOR
IF l_i < l_float_length+1 THEN
LET l_float = l_float.subString(1,l_float_length+1-l_i)
LET p_str = l_int || "." || l_float
ELSE
LET p_str = l_int
END IF
RETURN p_str
END FUNCTION
转载请注明:赫非域 » T100——凭证报表小数位有多少则显示多少位