vfp中的str函数的问题,我真的想搞懂它
问题描述:
vfp中的str函数的问题,我真的想搞懂它
str的功能
STR()函数把数值型数据转换为字符型数据.
其语法如下:
·“长度”和“小数位数”必须是非负值.
·“长度”指定返回的字符串的长度,“小数位数”指定返回的小数位数.如果没有指定长度,缺省的“长度”值为10 ,“小数位数”缺省值为0 .
·小数位数大于指定的“小数位数”值时,STR()函数将其下一位四舍五入.返回的数据的“符号位数+小数点前的位数+小数点位数+小数点后的位数”应小于或等于指定长度.
1.STR(-515.628,8,2)=’-515.63’
STR(-515.628,6,2)=’-515.6’
第一个不是取八位数吗?
而-515.63只有七位数呀?
第二个不是要取两位小数,但是-515.6只有一位小数?
什么时候不用满足小数位数,什么时候不用满足最后结果的长度呀?
答
第一个是长度最多为8位,不是输出的数字必须有8位,
“符号位数+小数点前的位数+小数点位数+小数点后的位数”,结果-515.63有7位
然后又要保留2为小数,小数部分有3个数,8被四舍五入了,所以的上述结果正确的
第二个当保留2位小数是,位数为7,即第一式结果,所以小数部分只保留了一位.