为什么这个语句报"Type mismatch"错误?

rabbitbug 2010-08-10 12:05:13
VB6环境,在法语环境生成XML文件,然后本程序读出XML文件内容
strVersion 取出的是XML的版本号1.1

Private strVersion As String

If CSng(strVersion) < CSng(CURR_XML_VERSION) Then
...

CSng(strVersion)和CSng(CURR_XML_VERSION)都是字符值: 1.1

CSng(strVersion)
CSng(CURR_XML_VERSION)
都报"Type mismatch"错误

如果CSng(Val(strVersion))
CSng(Val(CURR_XML_VERSION))
就都可以了
为什么呢?
CSng不能把"1.1"转换成数值1.1?
...全文
219 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
rabbitbug 2010-08-10
  • 打赏
  • 举报
回复
good, 理解了
强的

[Quote=引用 1 楼 tiger_zhao 的回复:]
同样的文本转数值功能,
Val() 是按照固有格式解析的,比如小数点始终是字符 "."。
CSgn() 是按照当前区域设置解析的,比如法语中小数点是字符 ",",所以 CSgn() 只会解析 "1,1",而碰到 "1.1" 就不会解析了。
[/Quote]
Tiger_Zhao 2010-08-10
  • 打赏
  • 举报
回复
同样的文本转数值功能,
Val() 是按照固有格式解析的,比如小数点始终是字符 "."。
CSgn() 是按照当前区域设置解析的,比如法语中小数点是字符 ",",所以 CSgn() 只会解析 "1,1",而碰到 "1.1" 就不会解析了。

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧