Chinaunix首页 | 论坛 | 博客
  • 博客访问: 89701
  • 博文数量: 29
  • 博客积分: 1410
  • 博客等级: 上尉
  • 技术积分: 225
  • 用 户 组: 普通用户
  • 注册时间: 2006-03-20 00:00
个人简介

一杯茶,品人生沉浮;平常心,遍万千世界。 农夫,山泉,有点田儿。

文章存档

2013年(1)

2010年(3)

2009年(1)

2007年(2)

2006年(22)

我的朋友

分类:

2006-10-21 14:40:06

日常使用的小函数,做一下保存记录。
 
#*****************************************
# 说明:实现计算积分功能
# sort_list 需要计算积分的列表值
# max_value 列表最大值
# min_value 列表最小值
# sort_source 计算的积分值,返回值
#*****************************************
proc integraph {sort_list max_value min_value} {
    foreach sort_value $sort_list {
        if {$sort_value == $max_value} {
             set sort_source 20
        } elseif {$sort_value == $min_value} {
             set sort_source 0
        } else {
              set sort_source [format "%0.2f" [expr 20*[expr $sort_value - $min_value]*1.0000 / [expr $max_value - $min_value]]]
        }
    }
 
    return $sort_source
}
 
#*****************************************
# 说明:排序功能
# sort_id 需要排序的值
# sort_list 排序数组
# sort_type 排序类型
#          0:降序
#          1:升序
#*****************************************
proc sort {sort_list sort_type} {
    set i 1
    if {$sort_type == 0} {
        set sort_type decreasing
    } else {
        set sort_type increasing
    }
    set sort_list2 [lsort -real -$sort_type $sort_list]
    foreach sort_value $sort_list2 {
        if {$sort_id != $sort_value} {
            incr i
        } else {
            break
        }
    }
 
    return $i
}
阅读(1628) | 评论(2) | 转发(0) |
给主人留下些什么吧!~~