明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1768|回复: 7

关于字符串的问题

[复制链接]
发表于 2006-5-11 22:37:00 | 显示全部楼层 |阅读模式
  请问怎么将字符串中的数字转换成数值用于计算(字符串中除了数字还有其它的字符),然后再转换成字符串 。
发表于 2006-5-13 14:51:00 | 显示全部楼层
兄台,拿个例子来说明吧,有点不明白你的意思,不好帮忙
发表于 2006-5-13 16:03:00 | 显示全部楼层
VAL函数不太好使。还是自己编程序吧。把每个字符提出来判断ASC码,这样就能提出数字了,数字转字符用cstr函数就行。。。
 楼主| 发表于 2006-5-18 22:38:00 | 显示全部楼层

谢谢,用cstr函数将数值型转换成字符型我学会了 ,但是要将字符型转换成数值型该怎么做我还是不太明白,比如"asd678tt"这是一个字符串,怎么才能提取出678这个数值呢?

发表于 2006-5-19 08:39:00 | 显示全部楼层

临时写了一个,你试试行不行

Sub main()
MsgBox getNumber("adfa23adf42342")
End Sub

Function getNumber(str As String) As Double
Dim str1 As String, num As Integer, numStr As String
For num = 1 To Len(str)
    If Asc(Mid(str, num, 1)) >= 48 And Asc(Mid(str, num, 1)) <= 57 Then numStr = numStr & Mid(str, num, 1)
Next
getNumber = Val(numStr)
End Function

 楼主| 发表于 2006-5-19 18:29:00 | 显示全部楼层

写的真好 ,谢谢

发表于 2006-5-20 01:17:00 | 显示全部楼层

其实这个问题5楼的朋友已经解答,主要是用mid()取字符后判别,根据机内ASC码做判定条件,还有就是5楼朋友也用到的val(),它将字符转化为数值型。

发表于 2006-5-20 08:20:00 | 显示全部楼层
[U]

嗯,我也用了VAL函数,主要是我事先也知道numStr的值肯定是数字字符,强制把他转成数字是没有问题的,如果numStr包含数字之外的字符,那就有问题了

返回包含于字符串内的数字,字符串中是一个适当类型的数值。

语法

Val(string)

必要的 string javascript%20:hhobj_4.Click()" target=_blank>参数可以是任何有效的javascript%20:hhobj_5.Click()" target=_blank>字符串表达式.

说明

Val 函数,在它不能识别为数字的第一个字符上,停止读入字符串。那些被认为是数值的一部分的符号和字符,例如美圆号与逗号,都不能被识别。但是函数可以识别进位制符号 &O(八进制)和 &H(十六进制)。空白、制表符和换行符都从参数中被去掉

[/U]
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-27 04:31 , Processed in 0.169111 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表