请帮我看下问题补充中的代码,并解释每个函数代表的意思。

PublicFunctionChkClng(ByValstr)Ifstr<>""andIsNumeric(str)ThenChkClng=CLng(str)ElseChk... Public Function ChkClng(ByVal str)
If str<>"" and IsNumeric(str) Then
ChkClng = CLng(str)
Else
ChkClng = 0
End If
End Function
以上是引用代码。
我asp页面里是用来加、减数值的,但这个只能整数,没有小数,账目不精确。
我想修改为:保留两位小数并自动四舍五入。请写完整代码,感谢。
并解释函数意思,以便于改成我想要的代码。
不好意思,我是新手,没看太懂,可否用我发的代码的形式来重新写一个“保留两位小数并自动四舍五入”的完整代码?
我曾经将这段代码删除,并在引用ChkClng代码的页面里删除后,计算的结果是小数很多位的。比如:1.52,在数据库里却是1.51********后面有11位数这样的。而不是完整的两位小数。我想只在修改以上检查代码就可以搞定的。数据库里我设的是“单精度”“小数位2位”。
展开
 我来答
sxgfc77
2011-02-11 · TA获得超过346个赞
知道答主
回答量:121
采纳率:100%
帮助的人:0
展开全部
create function getIP(@a varchar(15)) //新建一个函数,一个参数
returns varchar(15) //返回一个字符串
As
begin
declare @s varchar(15) //定义一个字符串,为赋值为空
set @s = ''
while charindex('.',@a) > 0 //当在@a中存在'.'时(charindex函数的用法, 返回前面的字符串在后面的字符串的位置),执行下面的循环
begin
set @s = @s + right('000' + left(@a,charindex('.',@a)),4)
//在@a找出含有'.'的字符起始位置左边4位(left函数 返回左面的几位),包括'.'在内,不足前面补0 赋值给@s
set @a = right(@a,len(@a)-charindex('.',@a))
//将@a找出'.'右边的数,赋值给@a,然后判断@a 是否循环
end
set @s = @s + right('000' + @a,3)
//将
return @a中只去右边三位,不足前面补0 + @s 得出一个值
赋值给返回的数
end
这个函数返回的功能就是将一个小数,返回小数点前面的3位数(不足前面补0) + 小数点后面的3位(不足前面补0)
chenjin99
2011-02-11 · TA获得超过7061个赞
知道大有可为答主
回答量:1304
采纳率:100%
帮助的人:1879万
展开全部
看了你发来的源代码,有一行,只要改成这样:
chkclng(g("fk")+g("yf")+g("qt"))

还有上面这个函数中间那句改为:
FormatNumber(str,2,-1,-1,0)

就可以了。

GoodLuck!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式