51Testing软件测试论坛

标题: QTP里如何实现数字只取小树后的点两位? [打印本页]

作者: chenjie021    时间: 2007-2-8 13:04
标题: QTP里如何实现数字只取小树后的点两位?
QTP里如何实现数字只取小树点后的两位
用FormatNumber(NUMBER,2)可以实现
但数据为7777.123实现情况为7,777.12如何才能实现没有逗号
作者: miniyal    时间: 2007-2-8 14:03
strLogin="7777.123"
num=FormatNumber(strLogin,2)
msgbox num
MyArray = Split(num, ",", -1, 1)
Msg= MyArray(0) & MyArray(1)
msgbox Msg
作者: xiaonan    时间: 2007-2-8 14:04
这不是QTP的问题,是vbscript的问题.好象vbscript里只有FormatNumber函数,没VB里灵活.

是不是可以先用InStr 函数,定位小数点是在第几位.然后再用right函数等,取出上面的位数加两位
作者: wawa133    时间: 2007-2-8 14:04
试试看,再转换一下类型.
作者: miniyal    时间: 2007-2-8 14:11
strLogin="7777.123"
MyPos = Instr(1, strLogin, ".")   
msgbox MyPos
LeftString = Left(strLogin, MyPos+2)
msgbox LeftString
作者: hiyizhiyu    时间: 2007-2-8 14:31
Round(7777.123,2)
作者: wawa133    时间: 2007-2-8 14:57
round会四舍五入吧??
作者: rivermen    时间: 2007-2-8 15:59
strLogin="7777.123"
MyPos = Instr(1, strLogin, ".")   
strHead=left(strLogin,MyPos -1)
strTail=mid(strLogin,MyPos+1,2)
strLogin=strHead & strTail
作者: Coffey111111    时间: 2007-2-8 16:45
学习~~
作者: Coffey111111    时间: 2007-2-8 16:49
Round(7777.123,2)我试了,没有用的,不知道大家有没有成功?sdlkfj5
作者: miniyal    时间: 2007-2-8 16:53
可以的,偶试啦
作者: Coffey111111    时间: 2007-2-8 17:06
哦,我失误,变量名错了sdlkfj5
作者: hiyizhiyu    时间: 2007-2-9 09:58
原帖由 wawa133 于 2007-2-8 14:57 发表
round会四舍五入吧??

是啊,这个方法是会四舍五入的,不好意思啊,误认为取小数点后两位就包含了四舍五入.
如果楼主只是想纯粹的取小数点后两位的话,那就不能用这个方法了
谢谢提醒




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2