51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3225|回复: 18
打印 上一主题 下一主题

[原创] 请教一个关于字符串的问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2008-5-7 21:29:38 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
一个金额式的字符串形如12,456.50,现在我想得到12456.50,如何来实现呢,当然可能有更复杂的形式,如123,156,789.50,请教各位
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

19#
发表于 2008-5-16 11:07:56 | 只看该作者
原帖由 walker1020 于 2008-5-12 23:32 发表


各位有没有实际运行一下? 运行后 ,我得到的结果是123156789.5


我也运行了一下,估计在转换的时候,做了四舍五入,所以0被干掉了。
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2016-2-27 08:48
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    18#
    发表于 2008-5-15 23:52:51 | 只看该作者
    回楼上的朋友,关于CDbl 和 FormatNumber 这两个函数的用法,在 QTP的帮助里面写得很清楚,所以没有人来回答你。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    17#
     楼主| 发表于 2008-5-14 20:07:37 | 只看该作者
    引用:
    原帖由 gy21st 于 2008-5-8 11:50 发表
    msgbox CDbl("123,156,789.50")
    各位有没有实际运行一下? 运行后 ,我得到的结果是123156789.5


    我运行的时候也是这样的,请问CDbl("123,156,789.50")  FormatNumber(s,2,0,0,0)
    这两个方法具体是什么意思,有什么作用
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2016-2-27 08:48
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    16#
    发表于 2008-5-12 23:32:43 | 只看该作者
    原帖由 gy21st 于 2008-5-8 11:50 发表
    msgbox CDbl("123,156,789.50")


    各位有没有实际运行一下? 运行后 ,我得到的结果是123156789.5
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    15#
    发表于 2008-5-12 10:07:42 | 只看该作者
    原帖由 gy21st 于 2008-5-8 11:50 发表
    msgbox CDbl("123,156,789.50")

    好方法, 简单,赞一个:)
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    14#
    发表于 2008-5-12 10:05:18 | 只看该作者
    原帖由 gy21st 于 2008-5-8 11:50 发表
    msgbox CDbl("123,156,789.50")


    一语惊醒梦中人
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    13#
     楼主| 发表于 2008-5-12 09:02:07 | 只看该作者
    谢谢各位的解答了,我也发现有一个方法也挺好用的,大家可以试一下,
    Replace(expression, find, replacewith[, start[, count[, compare]]])
    这个方法 可以用replace("12,456.50",",","")
    具体的使用方法可以到QTP help 里搜索replace 即可找到
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    12#
    发表于 2008-5-8 11:50:57 | 只看该作者
    msgbox CDbl("123,156,789.50")
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    11#
    发表于 2008-5-8 11:23:45 | 只看该作者
    不错,方法都很好~
    FormatNumber方法用于处理多数这类"Get Money Value"的问题还是比较方便.
    而若是对于多币种的情况,则2楼的思路比较适用,因为有些币种不是用","来做分隔符的~将","用传入参数替代就可以很好的处理这个问题~
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2016-2-27 08:48
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    10#
    发表于 2008-5-8 10:44:28 | 只看该作者
    还是对VBScript 了解地太少,还是看QTP 的帮助文件看的次数太少。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
    发表于 2008-5-8 09:56:16 | 只看该作者
    呵呵,忘记了vbs还有FormatNumber这个方法,还是不够熟悉啊
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
    发表于 2008-5-8 09:43:59 | 只看该作者
    原帖由 xiaonan 于 2008-5-8 09:27 发表
    直接用FormatNumber函数就能实现

    Dim s
    s="123,156,789.50"
    s=FormatNumber(s,2,0,0,0)
    msgbox s



    顶!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
    发表于 2008-5-8 09:35:45 | 只看该作者
    楼上的是牛人啊!
    哦哦哦哦哦 , 原来是版竹!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
    发表于 2008-5-8 09:27:56 | 只看该作者
    直接用FormatNumber函数就能实现

    Dim s
    s="123,156,789.50"
    s=FormatNumber(s,2,0,0,0)
    msgbox s
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5#
    发表于 2008-5-8 09:16:02 | 只看该作者
    不错不错
    方法收藏了~
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4#
    发表于 2008-5-8 09:07:20 | 只看该作者
    2楼的正解!

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3#
    发表于 2008-5-7 23:12:45 | 只看该作者

    回复 2# 的帖子

    忘记处理一个点号
    》看错了, 看来最近是太累了

    [ 本帖最后由 lantianwei 于 2008-5-8 19:15 编辑 ]
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    2#
    发表于 2008-5-7 21:59:55 | 只看该作者
    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)
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-20 23:29 , Processed in 0.073541 second(s), 27 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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