CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  其他数据库开发 >  VFP

val()函数有何用呀,什么类型的用它转换后都是数字了,而且只有两位.没有意义呀,如果数字超过两位呢?

楼主mzdlfk()2006-06-01 08:53:03 在 其他数据库开发 / VFP 提问

val()函数有何用呀,什么类型的用它转换后都是数字了,而且只有两位.没有意义呀,如果数字超过两位呢?  
  --------------------  
  起源于,我想判断一个字符串是否为数值,所以用val()转换一下,看与原字符是否一致,一致就说明是字符,否则就不是字符,经试这种方法不行,因为任何一个字符串转后都是数字了,不是数字的都转成0.00了,而是多于两位的小数转换以后也只有两位小数了,所以想问问大家,这个函数有什么用呀.  
  我想判断一个字符串是否为数字,有什么别的好办法呀? 问题点数:20、回复次数:7Top

1 楼apple_8180(十豆三)回复于 2006-06-01 09:43:44 得分 20

如果文本框中没有小数点,参考这个例子:  
   
  lcTextVal='123'  
  ?TRANSFORM(INT(VAL(lcTextVal)))==lcTextVal  
  Top

2 楼apple_8180(十豆三)回复于 2006-06-01 09:45:04 得分 0

lcTextVal='123'  
  IF   TRANSFORM(INT(VAL(lcTextVal)))==lcTextVal  
        MESSAGEBOX('是数字')  
  ELSE  
        MESSAGEBOX('不是数字')  
  ENDIFTop

3 楼mzdlfk()回复于 2006-06-01 09:57:55 得分 0

没有小数点是好办,最笨的办法可以遍历每一个字符,可是有小数点如何办呀?  
  看来只有自已写个函数了.  
  其实vb中就有这样的函数:isnumeric(),我就是不明白,为何vfp中却没有这个功能呢?Top

4 楼dfwxj(清风)回复于 2006-06-01 10:01:12 得分 0

你的思路有问题,在程序中,你要用数值型就用数值型,没有必要根据输入的值来判断是不是你想要的类型。比如说你卖一本书,你就规定要用人民币交换,而不是说用“某种东西”交换,等顾客拿东西来了,你再判断:是人民币的就换书,不是人民币的就不给换Top

5 楼apple_8180(十豆三)回复于 2006-06-01 10:29:09 得分 0

IF   TYPE(THISFORM.TEXT1.VALUE)='N'  
        MESSAGEBOX('是数字')  
  ELSE  
        MESSAGEBOX('不是数字')  
  ENDIFTop

6 楼mzdlfk()回复于 2006-06-01 10:44:46 得分 0

IF   TYPE(THISFORM.TEXT1.VALUE)='N'  
        MESSAGEBOX('是数字')  
  ELSE  
        MESSAGEBOX('不是数字')  
  ENDIF  
  ---------------------  
  谢谢,还是你行呀.  
  这个函数是可以的,我原先一直用vartype()来测试,是不行的.用这个函数就行.真怪.  
  你不信把上面的代码中type换成vartype,执行就是错误的.返回值将一直是"C"  
  真是不解,继续请教.Top

7 楼mzdlfk()回复于 2006-06-01 11:10:05 得分 0

你的思路有问题,在程序中,你要用数值型就用数值型,没有必要根据输入的值来判断是不是你想要的类型。比如说你卖一本书,你就规定要用人民币交换,而不是说用“某种东西”交换,等顾客拿东西来了,你再判断:是人民币的就换书,不是人民币的就不给换  
  ----------------  
  谢谢指教,我的思路是这样的,比如一个字段,是日产量,这设计成数值型字段,但是用户在文本框中输入值时必须只输入数字才行呀,当然如果用户输入错误,是存不进去的.可是要给用户提示呀,不能任由用户输入英文,还是进行数据库的写入操作,然后由数据库返回错误呀.我是这样想的,不知对否.  
  另外,文本框不想用value="0.00"或是inputmask="9999.99"这种方式,因为用户用起来认为输入不方便.尤其是inputmask方式,不能随意输入.所以我要进行文本框验证.  
  请给我指导.我是初学.Top

相关问题

关键词

得分解答快速导航

  • 帖主:mzdlfk
  • apple_8180

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo