cnqinxc 2008-5-7 21:29
请教一个关于字符串的问题
一个金额式的字符串形如12,456.50,现在我想得到12456.50,如何来实现呢,当然可能有更复杂的形式,如123,156,789.50,请教各位
zte_boy 2008-5-7 21:59
Function GetMoney(str)
Dim tempstr
tempstr = ""
myarray = split(str , ",")
For i = LBound(myarray) to UBound(myarray)
tempstr = tempstr&myarray(i)
Next
msgbox(tempstr)
End Function
Call GetMoney(str)
lantianwei 2008-5-7 23:12
回复 2# 的帖子
忘记处理一个点号
》看错了,:L 看来最近是太累了
[[i] 本帖最后由 lantianwei 于 2008-5-8 19:15 编辑 [/i]]
wyy83 2008-5-8 09:07
2楼的正解!
Simatu 2008-5-8 09:16
不错不错:lol
方法收藏了~
xiaonan 2008-5-8 09:27
直接用FormatNumber函数就能实现
Dim s
s="123,156,789.50"
s=FormatNumber(s,2,0,0,0)
msgbox s
dengzhy 2008-5-8 09:35
楼上的是牛人啊!
哦哦哦哦哦 , 原来是版竹!
Simatu 2008-5-8 09:43
[quote]原帖由 [i]xiaonan[/i] 于 2008-5-8 09:27 发表 [url=http://bbs.51testing.com/redirect.php?goto=findpost&pid=964048&ptid=114101][img]http://bbs.51testing.com/images/common/back.gif[/img][/url]
直接用FormatNumber函数就能实现
Dim s
s="123,156,789.50"
s=FormatNumber(s,2,0,0,0)
msgbox s [/quote]
顶!
zte_boy 2008-5-8 09:56
呵呵,忘记了vbs还有FormatNumber这个方法,还是不够熟悉啊
walker1020 2008-5-8 10:44
还是对VBScript 了解地太少,还是看QTP 的帮助文件看的次数太少。
hsjzfling 2008-5-8 11:23
不错,方法都很好~
FormatNumber方法用于处理多数这类"Get Money Value"的问题还是比较方便.
而若是对于多币种的情况,则2楼的思路比较适用,因为有些币种不是用","来做分隔符的~将","用传入参数替代就可以很好的处理这个问题~:)
gy21st 2008-5-8 11:50
msgbox CDbl("123,156,789.50")
cnqinxc 2008-5-12 09:02
谢谢各位的解答了,我也发现有一个方法也挺好用的,大家可以试一下,
Replace(expression, find, replacewith[, start[, count[, compare]]])
这个方法 可以用replace("12,456.50",",","")
具体的使用方法可以到QTP help 里搜索replace 即可找到
hsjzfling 2008-5-12 10:05
[quote]原帖由 [i]gy21st[/i] 于 2008-5-8 11:50 发表 [url=http://bbs.51testing.com/redirect.php?goto=findpost&pid=964266&ptid=114101][img]http://bbs.51testing.com/images/common/back.gif[/img][/url]
msgbox CDbl("123,156,789.50") [/quote]
一语惊醒梦中人
zte_boy 2008-5-12 10:07
[quote]原帖由 [i]gy21st[/i] 于 2008-5-8 11:50 发表 [url=http://bbs.51testing.com/redirect.php?goto=findpost&pid=964266&ptid=114101][img]http://bbs.51testing.com/images/common/back.gif[/img][/url]
msgbox CDbl("123,156,789.50") [/quote]
好方法, 简单,赞一个:)
walker1020 2008-5-12 23:32
[quote]原帖由 [i]gy21st[/i] 于 2008-5-8 11:50 发表 [url=http://bbs.51testing.com/redirect.php?goto=findpost&pid=964266&ptid=114101][img]http://bbs.51testing.com/images/common/back.gif[/img][/url]
msgbox CDbl("123,156,789.50") [/quote]
各位有没有实际运行一下? 运行后 ,我得到的结果是123156789.5
cnqinxc 2008-5-14 20:07
[quote]引用:
原帖由 gy21st 于 2008-5-8 11:50 发表
msgbox CDbl("123,156,789.50")
各位有没有实际运行一下? 运行后 ,我得到的结果是123156789.5[/quote]
我运行的时候也是这样的,请问CDbl("123,156,789.50") FormatNumber(s,2,0,0,0)
这两个方法具体是什么意思,有什么作用
walker1020 2008-5-15 23:52
回楼上的朋友,关于CDbl 和 FormatNumber 这两个函数的用法,在 QTP的帮助里面写得很清楚,所以没有人来回答你。
heqingbluesky 2008-5-16 11:07
[quote]原帖由 [i]walker1020[/i] 于 2008-5-12 23:32 发表 [url=http://bbs.51testing.com/redirect.php?goto=findpost&pid=967061&ptid=114101][img]http://bbs.51testing.com/images/common/back.gif[/img][/url]
各位有没有实际运行一下? 运行后 ,我得到的结果是123156789.5 [/quote]
我也运行了一下,估计在转换的时候,做了四舍五入,所以0被干掉了。
页:
[1]