1
按照水文资料整编规范,对任一个数值
第一步:分析
第二步:按条件

第三步:出栈恢复操作数
2
函数过程脚本提供如下(这是一段
// **
//
// x
// m
// m = 0
Integer i = 0
Decimal ret_jjos,j =1
if x < 0 then j =-1 //j用于记忆是正数还是负数
if n > 0 then
Do while Abs(x) >= 10^(n - m)
x = x/10 //向前移动一个小数点
i = i + 1
loop
end if
if Int(x * 10^(m +1)) = x * 10^(m + 1) then
x= Round(x,m + 2)
ret_jjos = Dec(left(Right(String(x),3),1))
ifRight(String(x),2) = "50" and Int(ret_jjos/2) = ret_jjos/2 then
ret_jjos= Truncate(x,m)*10^I //唯一此种情况舍
else
ret_jjos= Round(x,m)*10^I //不是那种情况执行四舍五入
endif
else
ret_jjos = Round(x,m)*10^I //
end if
if n > 0 then
ifInt(ret_jjos) >= 10^(n - 1) then
ret_jjos= Int(ret_jjos)
elseifAbs(ret_jjos) >= 1 then
ret_jjos= Dec(Left(String(Abs(ret_jjos)),n + 1))*j
endif
end if
Return ret_jjos //返回处理结果
以上程序是在“取整(
3
3.1
水文测验规范对不同类型的数据有不同的规定,有时还对同一数据不同范围规定不同处理要求,例如对流量计算表中测点水深
if H <
H = jjos(H,2,0)
Else
H = jjos(H,1,0)
End if
特别要注意这里的临界值必须是
3.2
该函数本身没有对
4
沧州水环境监测中心分析室
| 站次 | 站名 | 统计项目 | 氰化物 | 砷化物 | 挥发酚 | 六价铬 | 汞 | 镉 | 铅 | 铜 | 铁 | 硫化物 | 氟化物 |
| (毫克/升) | |||||||||||||
| (28) | (29) | (30) | (31) | (32) | (33) | (34) | (35) | (36) | (37) | (38) | |||
| 4 | 窦庄子 | 样品总数 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 |
|
|
| 检出率(%) | 50.0 | 50.0 | 100 | 0 | 100 | 100 | 50.0 | 100 | 100 | 100 | 100 |
|
|
| 超标率(%) | 0 | 0 | 100 | 0 | 100 | 50.0 | 50.0 | 0 | 50.0 | 100 | 100 |
|
|
| 实测 最小值 | <DL | <DL | 0.06 | <DL | 0.00374 | 0.004 | <DL | 0.013 | 0.12 | 0.89 | 1.01 |
|
|
| 实测 最大值 | 0.011 | 0.019 | 0.034 | <DL | 0.00412 | 0.026 | 0.07 | 0.022 | 2.28 | 6.12 | 2.20 |
|
|
| 最大值超标倍数 |
|
| 5.8 |
| 40.2 | 4.2 | 0.4 |
| 3.6 | 29.6 | 1.2 |
|
|
| 最大值出现日期 | 2.2 | 2.2 | 2.2 | 2.2 | 2.2 | 2.2 | 5.5 | 2.2 | 5.5 | 2.2 | 2.2 |
|
|
| 年平均 | 0.006 | 0.010 | 0.020 | 0 | 0.00396 | 0.015 | 0.04 | 0.02 | 1.20 | 3.50 | 1.60 |
有2处分析计算结果涉及“四舍六入”的处理:超标倍数和年平均值。超标倍数很简单,按照水质评价要求保留
| 序号 | 项目 | 水 质 标 准 | 单位 | 评价 吗? | 检出 判断 | 有效 数字 | 小数 位数 | 检出限 | |||||
| Ⅰ类 | Ⅱ类 | Ⅲ类 | Ⅳ类 | Ⅴ类 | |||||||||
| 22 | 氨氮 | ≤ | 0.5 | 0.5 | 0.5 | 1.0 | 1.5 | mg/L | 是 | 否 | 3 | 2 | 0.05 |
| 23 | 亚硝酸盐氮 | ≤ | 0.06 | 0.1 | 0.15 | 1.0 | 1.0 | mg/L | 是 | 是 | 3 | 3 | 0.003 |
| 24 | 硝酸盐氮 | ≤ | 10 | 10 | 20 | 20 | 25 | mg/L | 是 | 是 | 3 | 2 | 0.02 |
| 25 | 高锰酸盐指数 | ≤ | 2 | 2 | 8 | 10 | 15 | mg/L | 是 | 否 | 0 | 1 | 0.5 |
| 26 | 化学耗氧量 | ≤ | 15 | 15 | 20 | 30 | 40 | mg/L | 是 | 否 | 0 | 1 | 10 |
5
过来许多从事水文资料整编的人员在解决这一问题时,都是具体问题具体编程解决,缺乏可移植性,重复工作量大,而且大多在对非常数据的处理上缺乏可靠性。本文给出的这一函数过程通过大量应用实践表明,经得住正常、非常和错误数据的考验。当然,水平有限,而且只是笔者的一点经验之谈,旨在抛拙引巧,但愿能让广大水文专业人员从中得到启发,也算为水文信息化工作做点贡献。
作者简介:张英骏,男, 河北省沧州水文水资源勘测局,工程师。
