VFP的STR函数是怎么回事?

VFP的STR函数是怎么回事?,第1张

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的数值精度的更多信息。

是这样的,VFP默认保留10个有效数字,不足10位有效数字的,保留两位小数,若保留两位小数时超过10个有效数字,则舍弃小数。 val("12356e7") 的输出结果是 1235600000

&符号是宏替换符号
下面是宏替换的解释
宏替换函数:
格式:&变量名
说明:
vfp中只有宏替换函数没有括号,
宏替换把内存变量和数组元素中的内容当作原义字符串,
宏替代可用在任何接受原义字符串的命令和函数中,
功能是返回指定字符型变量中所存放的字符串。
你这道题中变量D原来是字符型变量 D="09/09/2003 "
但是&D就是返回其中的字符串,即09/09/2003
所以&D=09/09/2003,
&D=000049925
这时&D是个数值型变量,所以选C
注:你在vfp上输入此程序,其中&d可能是000
那是应为VFP默认保留小数位数为2
在工具-选项-区域里面改变小数位数即可

字符型:字符型数据一般用来表示文本信息,如姓名、地址等。它由字母(汉字)、数字、空格等一切可以打印的ASCII码字符组成。字符型数据的长度为0~254,每个字符占1个字节。汉字也是字符,1个汉字占2个字节。字符型数据用C表示。
数值型:数值型数据一般用来表示数量,如奖学金、成绩等。它由数字0~9、一个符号(+或-)和一个小数点()组成。数值型数据的长度为1~20位,精度16位,每个数据占8个字节。数值型数据用N表示。数值型数据取值的范围是:-09999999999E+19~09999999999E+20。
逻辑型:逻辑型数据一般用来表示只有两个值的数据,如性别(男、女)、考试成绩(通过、没过)等。存入的值只有真(T)和假(F)两种状态,占1个字节。逻辑型数据用L表示。
日期型:日期型数据一般用来表示不带时间的日期值,如出生年月、入学日期等。日期型数据的存储格式为“yyyymmdd”,其中yyyy为年,占4位,mm为月,占2位,dd为日,占2位。日期型数据用D表示。日期型数据的表示有多种格式,通常采用美国格式mm/dd/yyyy(日/月/年)。可采用SET DATE、SET CENTURY和SET MARK TO命令改变其格式。
日期时间型:日期时间型数据用来保存日期和时间值。日期时间型数据占用8个字节,前4个字节保存日期,后4个字节保存时间。日期时间型数据的存储格式为“yyyymmddhhmmss”,其中yyyy为年,占4位,mm为月,占2位,dd为日,占2位,hh为时间中的小时,占2位,mm为时间中的分钟,占2位,ss为时间中的秒,占2位。日期时间型数据用T表示。日期时间型数据中可以只包含一个日期或者只包含一个时间值,缺省日期值时,系统自动加上1999年12月31日;省略时间值时,则自动加上午夜零点。
货币型:货币型数据一般用于货币计算,如金额等。在使用货币值时,可以使用货币型来代替数值型。货币型数据只保留4位小数,小数位数超过4位时,系统将进行四舍五入的处理。每个货币型数据占8个字节。货币型数据用Y表示。货币型数据取值的范围是:-9223372036854775807~9223372036854775807,并在货币型数据前加上一个符号“$”。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/10378190.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-08
下一篇 2023-05-08

发表评论

登录后才能评论

评论列表(0条)

保存