VFP的STR函数是怎么回事?
STR(<数值表达式>[,<总长度>[,<其中小数位数>]])函数作用是将数值表达式转换为指定长度和小数位数的字符串,其中总长度的默认值是10,小数位数的默认值为0,并且在实际操作中,总长度要大于或等于数值表达式的整数部分的长度,才能完成命令。
1、如果总长度大于数值表达式长度或大于数值表达式整数部分和指定小数部分的长度总和,若此时数值的小数位少于指定的小数位数,那么要将它补齐,添加“0”到最低位即最右边;如果数值的小数位等于指定的小数位数,那么多余的字节应该放到最高位即最左边,为空格。
2、如果总长度小于数值表达式长度,特别注意在转换取值的时候,是从左往右算起的,而且遵循四舍五入的原则,也就是说,假如指定的小数位数比从左往右取完整数后剩下的位数要多,实际保留的小数只能占总长度减去整数部分后的长度,如果超出了就四舍五入到剩下的位数。
其中小数点算一位。如果最后一位数是小数点“.”的话,那么应该舍去小数点,把多出的那一个字节放在最高位(即最左边),即此时最高位为空格。
用法:
str()将数值型转换为字符型的函数,如str(123.45)="123"
括号内共有3个参数,str(数值型数据,转换后字符的长度,保留的小数位置),如果省略后两个参数,则转换为长度为10,保留到整数位。如:
str(123.456,6,2)="123.46"&&小数点占一位
str(123.456)="123"
扩展资料:
STR(nExpression[,nLength[,nDecimalPlaces]])
参数
nExpression
指定STR()要计算的数值表达式。
nLength
指定STR()返回的字符串长度。如果省略nLength,则nLength默认为10个字符。注意:
如果表达式包含小数点,该长度包括小数点所占的字符和小数点右边每个数字所占的字符。
nDecimalPlaces
指定由STR()返回的字符串中的小数位数。若要用nDecimalPlaces指定小数位数,必须同时包含nLength。如果nDecimalPlaces省略,则默认的小数位为零(0)。
注意:
VisualFoxPro在数值计算中包含16位精度的限制。关于VisualFoxPro的数值精度的更多信息。