负值取零的写法?

csutzs 2003-12-23 11:35:51
If IsArray(objList(i).Amount) Then
rs("Carriage").value = IIf(IsNull(dblPrice), 0, dblPrice) * IIf(IsNull(objList(i).Amount(1)), 0, objList(i).Amount(1))
Else
rs("Carriage").value = IIf(IsNull(dblPrice), 0, dblPrice) * IIf(IsNull(objList(i).Amount), 0, objList(i).Amount)
End If
上段代码中Amount及Amount1可能为负数,我想要的处理方法是如果为负数则取值为零,请问该怎么改写?
...全文
325 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
dysqw 2003-12-24
  • 打赏
  • 举报
回复
IsArray(iif(objList(i).Amount<0,0,objList(i).Amount) )
rainstormmaster 2003-12-24
  • 打赏
  • 举报
回复
不建议使用iif,效率低下
csutzs 2003-12-24
  • 打赏
  • 举报
回复
是这种格式么?
If IsArray(objList(i).Amount) Then
rs("Carriage").value = IIf(IsNull(dblPrice), 0, dblPrice) *
(IIf(IsNull(objList(i).Amount(1)), 0, objList(i).Amount(1))+abs(IIf(IsNull(objList(i).Amount(1)), 0, objList(i).Amount(1))))/2

captainivy 2003-12-24
  • 打赏
  • 举报
回复
还是hhjjhjhj(大头)的方法好,简单
northwolves 2003-12-24
  • 打赏
  • 举报
回复
x=iif(abs(x)=x,x,0)
planetike 2003-12-24
  • 打赏
  • 举报
回复
iif(objList(i).Amount<0,0,objList(i).Amount)
flc 2003-12-24
  • 打赏
  • 举报
回复
可以
IsArray(iif(objList(i).Amount<0,0,objList(i).Amount))
kmzs 2003-12-24
  • 打赏
  • 举报
回复
用iif,强的
jone999 2003-12-24
  • 打赏
  • 举报
回复
IIf方法最简单
IT服务 2003-12-24
  • 打赏
  • 举报
回复
function N(a as integer)
if a<0 then
N=0
else
N=a
end if

IT服务 2003-12-24
  • 打赏
  • 举报
回复
iif 好.
LanceJin 2003-12-24
  • 打赏
  • 举报
回复
hhjjhjhj(大头)
hhjjhjhj 2003-12-23
  • 打赏
  • 举报
回复
b=(a+Abs(a))/2
明白吗

7,759

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧