注册 登录
编程论坛 VFP论坛

怎样判断变量的值是字符型还是数值型

sxy166 发布于 2023-05-05 20:29, 116 次点击
本来以为是个简单的问题,没想到竟然无解
从一个Excel表的多个工作薄中取值,赋给一个变量,大部分都是数值,但有几个是文本,就是这几个在计算的时候出错。
想在计算前判断变量是数值的还是字符,如果是数值就计算,字符就跳过
3 回复
#2
吹水佬2023-05-05 20:55
VARTYPE()
#3
sxy1662023-05-05 22:01
只找到type函数字段类型,没找到有这个函数  
#4
zhken2023-05-05 22:48
VFP中type 和vartype的用法和区别
 
   type( ) 函数
*----------------------------------------------------------
计算字符表达式,并返回其内容的数据类型。

语法

TYPE(cExpression)

参数

cExpression
指定备注型字段的名称或字符表达式,type( ) 函数将对其中内容求值,并返回适当的数据类型。

返回值类型:字符型
说明

下表列出了 type( ) 函数所返回的字符值及其对应的数据类型:

数据类型  返回的字符

字符型 C
数值型(或者整数、单精度浮点数和双精度浮点数) N
货币型  Y
日期型  D
日期时间型  T
逻辑型  L
备注型  M
对象型  O
通用型  G
Screen (用 SAVE SCREEN 命令建立) S
未定义的表达式类型  U

vartype( ) 函数
*-------------------------------------

返回一个表达式的数据类型。

语法

VARTYPE(eExpression [, lNullDataType])

返值类型

字符型

参数

eExpression

指定要返回数据类型的表达式。VARTYPE()返回单个的字符,表明该表达式的数据类型。下表列出了VARTYPE()返回的每种数据类型对应的字符:

返回的字符   
数据类型   

C   
字符型或备注型   

N   
数值型、整型、浮点型或双精度型   

Y   
货币型   

L   
逻辑型   

O   
对象   

G   
通用型   

D   
日期型   

T   
日期时间型   

X   
Null   

U   
未知   

注意 如果eExpression是一个数组,则返回该数组第一个值的数值类型。

lNullDataType

指定当eExpression包含null值时,VARTYPE()是否返回它的数据类型。如果lNullDataType为“真”(.T.),则VARTYPE()返回eExpression的数据类型。如果lNullDataType为“假”(.F.)或省略,则VARTYPE()返回'X',表明eExpression包含null值。

附注

VARTYPE()类似于TYPE()函数,但是VARTYPE()更快,而且表达式外面不需要引号。

如果指定的变量、字段、对象或对象属性不存在,VARTYPE()将返回“U”。如果当前没有活动的表单,运行ActiveForm属性会产生OLEIDispatch错误。
1