当前位置:文档之家› Gvurl地址传值

Gvurl地址传值

Gvurl地址传值
Gvurl地址传值

方法有一些:

1,url传值,如:

CheckPwd.aspx?user=uservalue&pwd=pwdvalue

2,Session传值

如:Session("role")="Administrator"

3,Viewstate("role")="Administrator" ,用法和Session大致相同

4,Context传值

一般来说都是以上4种。

一般页面跳转所用的都是URL传值,Request.QueryString的方法。

必须注意到的是,在Gridview中选用的是HyperLinkField的字段。添加这个字段就可以了。最重要的是要设置DataNavigateUrlFields和DataNavigateUrlFormatString这两个属性,

如图所示:

DataNavigateUrlFields填写的是所对应的数据源中所要绑定的数据项

DataNavigateUrlFormatString填写的就是要跳转的页面,本例中:

NewsModify.aspx?NewsID={0}

注意,首先,要给Gridview绑定数据源

gv_newslist.DataSource = weblogic.GetNews();

gv_newslist.DataBind();

gv_newslist即所要操作的Gridview对象。

然后,在NewsModify.aspx的后台代码页面中写

int newsid = Convert.ToInt32(Request.QueryString["NewsID"]);

即可取到NewsID的值

这时,你可以用这个值来取得数据源了

比如,我是想要通过这个ID来取得数据项然后显示到页面上的

public void DataBind()

{

int newsid = Convert.ToInt32(Request.QueryString["NewsID"]);

news = weblogic.GetNewsbyNewsID2(newsid);

tb_title.Text = news.NewsName;

ce_content.Text = news.NewsContent;

ddl_type.DataSource = weblogic.GetNewsType();

ddl_type.DataTextField = "TypeName";

ddl_type.DataValueField = "TypeID";

ddl_type.DataBind();

//ddl_type.SelectedItem.Text = news.NewsType;

//ddl_type.SelectedValue = Convert.ToString(news.NewsTypeID);

}

news=weblogic.GetNewsbyNewsID2(newid);即已经取到数据项的值赋值给news对象。大概就是这样的了,这样就实现了不同的数据动态的显示,你只要得到相应的ID就可以了

GridView删除行

HTML code

1.

wDeleting="GridView1_RowDeleting">

2.

3.

4.

5.

6.

7.

8. Text="删除" OnClientClick='<%# "if (!confirm(\"你确定要删除" + Eval("

name").ToString() + "吗?\")) return false;"%>'>

9.

10.

11.

12.

C# code

1.private void BindGridView()

2.{

3. SqlConnection cn = new SqlConnection(@"server=.\SQLExpress;uid=sa;pwd=;dat

abase=Demo");

4. SqlDataAdapter da = new SqlDataAdapter("select id, name from yourtable", cn);

5. DataSet ds = new DataSet();

6. cn.Open();

7. da.Fill(ds);

8. cn.Close();

9. GridView1.DataSource = ds.Tables[0].DefaultView;

10. GridView1.DataKeyNames = new string[] { "id" };

11. GridView1.DataBind();

12.}

13.

14.protected void Page_Load(object sender, EventArgs e)

15.{

16. if (!IsPostBack)

17. {

18. BindGridView();

19. }

20.}

21.

22.protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)

23.{

24. string strSql = "delete from yourtable where id = @id";

25. SqlConnection cn = new SqlConnection(@"server=.\SQLExpress;uid=sa;pwd=;dat

abase=Demo");

26. SqlCommand cmd = new SqlCommand(strSql, cn);

27. cmd.Parameters.Add("@id", SqlDbType.VarChar, 11).Value = GridView1.DataKeys

[e.RowIndex].Value.ToString();

28. cn.Open();

29. cmd.ExecuteNonQuery();

30. cn.Close();

31. BindGridView();

32.}

Java中传值与传引用的三种情况

java传值与传引用的三种情况大家先看一个例子: public class Example{ String str=new String("good"); char[]ch={'a','b','c'}; public static void main(String args[]){ Example ex=new Example(); ex.change(ex.str,ex.ch); System.out.print(ex.str+" and "); System.out.print(ex.ch); } public void change(String str,char ch[]){ str="test ok"; ch[0]='g'; } } 看看输出结果? good and gbc java中没有了c++中这样的引用符号,也没像c#中那样提供了out与ref 那么它是怎么做的呢 做什么事情都要去除例外的东西,String类就是此类问题的一个特殊情况 为什么特殊呢?

因为它是一个引用类型,确执行的是值传递。这样说有些抽象,还是举个例子吧 值传递: class Str { public static void main(String[] args) { int i = 900; System.out.println(i); changeInt(i); System.Out.println(i); } public static void changeInt(int s) { s = 34234; } } 结果: 900 900 这就是所谓的值传递。i把自己的副本给了函数changeInt的形参,而在changeInt中虽然将s赋值34234。但是对原来的i值并没有影响,因为它所修改的只是i的copy品而已。

Excel常用函数及使用方法

excel常用函数及使用方法 一、数字处理 (一)取绝对值:=ABS(数字) (二)数字取整:=INT(数字) (三)数字四舍五入:=ROUND(数字,小数位数) 二、判断公式 (一)把公式返回的错误值显示为空: 1、公式:C2=IFERROR(A2/B2,"") 2、说明:如果是错误值则显示为空,否则正常显示。 (二)IF的多条件判断 1、公式:C2=IF(AND(A2<500,B2="未到期"),"补款","") 2、说明:两个条件同时成立用AND,任一个成立用OR函数。 三、统计公式 (一)统计两表重复 1、公式:B2=COUNTIF(Sheet15!A:A,A2) 2、说明:如果返回值大于0说明在另一个表中存在,0则不存在。 (二)统计年龄在30~40之间的员工个数 公式=FREQUENCY(D2:D8,{40,29} (三)统计不重复的总人数 1、公式:C2=SUMPRODUCT(1/COUNTIF(A2:A8,A2:A8)) 2、说明:用COUNTIF统计出每人的出现次数,用1除的方式把出现次数变成分母,然后相加。

(四)按多条件统计平均值 =AVERAGEIFS(D:D,B:B,"财务",C:C,"大专") (五)中国式排名公式 =SUMPRODUCT(($D$4:$D$9>=D4)*(1/COUNTIF(D$4:D$9,D$4:D$9))) 四、求和公式 (一)隔列求和 1、公式:H3=SUMIF($A$2:$G$2,H$2,A3:G3) 或=SUMPRODUCT((MOD(COLUMN(B3:G3),2)=0)*B3:G3) 2、说明:如果标题行没有规则用第2个公式 (二)单条件求和 1、公式:F2=SUMIF(A:A,E2,C:C) 2、说明:SUMIF函数的基本用法 (三)单条件模糊求和 说明:如果需要进行模糊求和,就需要掌握通配符的使用,其中星号是表示任意多个字符,如"*A*"就表示a前和后有任意多个字符,即包含A。 (四)多条求模糊求和 1、公式:=SUMIFS(C2:C7,A2:A7,A11&"*",B2:B7,B11) 2、说明:在sumifs中可以使用通配符* (五)多表相同位置求和 1、公式:=SUM(Sheet1:Sheet19!B2) 2、说明:在表中间删除或添加表后,公式结果会自动更新。

怎么根据IP地址和子网掩码算出网络地址

怎么根据IP地址和子网掩码算出网络地址,直接广播地址及主机号 在思科网络技术学院CCNA教学和考试当中,不少同学在进行IP地址规划时总是很头疼子网和掩码的计算。现在给大家一个小窍门,可以顺利的解决这个问题。 首先,我们看一个CCNA考试中常见的题型:一个主机的IP地址是202.112.14.137,掩码是255.255.255.224,要求计算这个主机所在网络的网络地址和广播地址。 常规办法是把这个主机地址和子网掩码都换算成二进制数,两者进行逻辑与运算后即可得到网络地址。其实大家只要仔细想想,可以得到另一个方法:255.255.255.224的掩码所容纳的IP地址有256-224=32个(包括网络地址和广播地址),那么具有这种掩码的网络地址一定是32的倍数。而网络地址是子网IP地址的开始,广播地址是结束,可使用的主机地址在这个范围内,因此略小于137而又是32的倍数的只有128,所以得出网络地址是202.112.14.128.而广播地址就是下一个网络的网络地址减1.而下一个32的倍数是160,因此可以得到广播地址为202.112.14.159.可参照下图来理解本例: CCNA考试中,还有一种题型,要你根据每个网络的主机数量进行子网地址的规划和计算子网掩码。这也可按上述原则进行计算。比如一个子网有10 台主机,那么对于这个子网就需要10+1+1+1=13个IP地址。(注意加的第一个1是指这个网络连接时所需的网关地址,接着的两个1分别是指网络地址和广播地址。)13小于16(16等于2的4次方),所以主机位为4位。而256-16=240,所以该子网掩码为255.255.255.240.

电子表格常用函数公式

电子表格常用函数公式 1.去掉最高最低分函数公式: =SUM(所求单元格…注:可选中拖动?)—MAX(所选单元格…注:可选中拖动?)—MIN(所求单元格…注:可选中拖动?) (说明:“SUM”是求和函数,“MAX”表示最大值,“MIN”表示最小值。)2.去掉多个最高分和多个最低分函数公式: =SUM(所求单元格)—large(所求单元格,1)—large(所求单元格,2) —large(所求单元格,3)—small(所求单元格,1) —small(所求单元格,2) —small(所求单元格,3) (说明:数字123分别表示第一大第二大第三大和第一小第二小第三小,依次类推) 3.计数函数公式: count 4.求及格人数函数公式:(”>=60”用英文输入法) =countif(所求单元格,”>=60”) 5.求不及格人数函数公式:(”<60”用英文输入法) =countif(所求单元格,”<60”) 6.求分数段函数公式:(“所求单元格”后的内容用英文输入法) 90以上:=countif(所求单元格,”>=90”) 80——89:=countif(所求单元格,”>=80”)—countif(所求单元格,”<=90”) 70——79:=countif(所求单元格,”>=70”)—countif(所求单元

格,”<=80”) 60——69:=countif(所求单元格,”>=60”)—countif(所求单元格,”<=70”) 50——59:=countif(所求单元格,”>=50”)—countif(所求单元格,”<=60”) 49分以下: =countif(所求单元格,”<=49”) 7.判断函数公式: =if(B2,>=60,”及格”,”不及格”) (说明:“B2”是要判断的目标值,即单元格) 8.数据采集函数公式: =vlookup(A2,成绩统计表,2,FALSE) (说明:“成绩统计表”选中原表拖动,“2”表示采集的列数) 公式是单个或多个函数的结合运用。 AND “与”运算,返回逻辑值,仅当有参数的结果均为逻辑“真(TRUE)”时返回逻辑“真(TRUE)”,反之返回逻辑“假(FALSE)”。条件判断 AVERAGE 求出所有参数的算术平均值。数据计算 COLUMN 显示所引用单元格的列标号值。显示位置 CONCATENATE 将多个字符文本或单元格中的数据连接在一起,显示在一个单元格中。字符合并 COUNTIF 统计某个单元格区域中符合指定条件的单元格数目。条件统计 DATE 给出指定数值的日期。显示日期

快速计算子网掩码和主机数

快速计算子网掩码和主机数 业务的发展常常会导致许多单位面临这样一个问题:工作站数量越来越多,管理单一的大型网络也变得越来越艰难。如果将一个单一的大型网络划分为多个子网,通过对每个子网进行单独管理,可以明显地提高整个网络的性能。要划分子网就需要计算子网掩码和分配相应的主机数,尽管采用二进制计算可以得出相应的结论,但如果采用十进制计算方法,计算起来更为简便。经过长期实践与经验积累,笔者总结出子网掩码及主机数的十进制算法。 一、明确概念 在介绍十进制算法前我们先要明确一些概念。 A类地址:IP地址常采用点分十进制表示方法X.Y.Y.Y,在这里,X在1~126范围内称为A类,比如10.202.52.130,因为X为10,在1~126范围内,所以称为A类地址。 B类地址:X在128~191范围内称为B类地址。 C类地址:X在192~223范围内称为C类地址。 各类地址默认子网掩码: A类为255.0.0.0; B类为255.255.0.0; C类为255.255.255.0。 当我们要划分子网用到子网掩码M时,各类子网掩码的格式如下: A类为255.M.0.0; B类为255.255.M.0; C类为255.255.255.M。 M是相应的子网掩码,比如255.255.255.240。M=240。 十进制计算基数是256(下面,我们所有的十进制计算都要用256来进行)。 二、变量说明 1、Subnet_block指可分配子网数大小,表示在某一子网掩码下子网的个数。 2、Subnet_num是实际(有效)子网数,指可分配子网数中要剔除首、尾两块,是某一子网掩码下可分配的实际子网数量。 3、IP_block指每个子网可分配的IP地址数。 4、IP_num指每个子网分配的实际IP地址数。因为每个子网的首、尾IP地址必须保留(一个为网络地址,一个为广播地址),也用于计算主机数。 5、M指子网掩码。 表示上述变量关系的公式如下: M=256-IP_block

java中的值传递和引用传递

转载 原文地址:https://www.doczj.com/doc/fe10691861.html,/clara/archive/2011/09/17/2179493.html Java中的值传递和引用传递 当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递? 答:是值传递。Java 编程语言只有值传递参数。当一个对象实例作为一个参数被传递到方法中时,参数的值就是该对象的引用一个副本。指向同一个对象,对象的内容可以在被调用的方法中改变,但对象的引用(不是引用的副本)是永远不会改变的。 Java参数,不管是原始类型还是引用类型,传递的都是副本(有另外一种说法是传值,但是说传副本更好理解吧,传值通常是相对传址而言)。 如果参数类型是原始类型,那么传过来的就是这个参数的一个副本,也就是这个原始参数的值,这个跟之前所谈的传值是一样的。如果在函数中改变了副本的值不会改变原始的值. 如果参数类型是引用类型,那么传过来的就是这个引用参数的副本,这个副本存放的是参数的地址。如果在函数中没有改变这个副本的地址,而是改变了地址中的值,那么在函数内的改变会影响到传入的参数。如果在函数中改变了副本的地址,如new一个,那么副本就指向了一个新的地址,此时传入的参数还是指向原来的地址,所以不会改变参数的值。 例: 1public class ParamTest { 2public static void main(String[] args){ 3/** 4 * Test 1: Methods can't modify numeric parameters 5 */ 6 System.out.println("Testing tripleValue:"); 7double percent = 10; 8 System.out.println("Before: percent=" + percent); 9 tripleValue(percent); 10 System.out.println("After: percent=" + percent); 11 12/** 13 * Test 2: Methods can change the state of object parameters 14 */ 15 System.out.println("\nTesting tripleSalary:"); 16 Employee harry = new Employee("Harry", 50000);

已知IP及子网掩码,计算网络地址及广播地址

首先,我们看一个CCNA考试中常见的题型:一个主机的IP地址是202.112.14.137,掩码是255.255.255.224,要求计算这个主机所在网络的网络地址和广播地址。 常规办法是把这个主机地址和子网掩码都换算成二进制数,两者进行逻辑与运算后即可得到网络地址。其实大家只要仔细想想,可以得到另一个方法:255.255.255.224的掩码所容纳的IP地址有256-224=32个(包括网络地址和广播地址),那么具有这种掩码的网络地址一定是32的倍数。而网络地址是子网IP地址的开始,广播地址是结束,可使用的主机地址在这个范围内,因此略小于137而又是32的倍数的只有128,所以得出网络地址是202.112.14.128.而广播地址就是下一个网络的网络地址减1.而下一个32的倍数是160,因此可以得到广播地址为202.112.14.159 可参照下图来理解本例: CCNA考试中,还有一种题型,要你根据每个网络的主机数量进行子网地址的规划和计算子网掩码。这也可按上述原则进行计算。比如一个子网有10台主机,那么对于这个子网就需要10+1+1+1=13个IP地址。(注意加的第一个1是指这个网络连接时所需的网关地址,接着的两个1分别是指网络地址和广播地址。)13小于16(16等于2的4次方),所以主机位为4位。而256-16=240,所以该子网掩码为255.255.255.240 如果一个子网有14台主机,不少同学常犯的错误是:依然分配具有16个地址空间的子网,而忘记了给网关分配地址。这样就错误了,因为14+1+1+1 =17 ,大于16,所以我们只能分配具有32个地址(32等于2的5次方)空间的子网。这时子网掩码为:255.255.255.224 256-32=224

C语言中参数的传值问题

C 语言中参数的传值问题 第1页 C 语言中参数的传值一直比较含糊,今天在网上看到三个面试题的详解,感觉讲的很好,就拿来记下,方便学习和记忆。 1. 考题一:程序代码如下: void Exchg1(int x, int y) { int tmp; tmp=x; x=y; y=tmp; printf(“x=%d,y=%d/n”,x,y) } void main() { int a=4,b=6; Exchg1 (a,b) ; printf(“a=%d,b=%d/n”,a,b) } 输出的结果: x=____, y=____ a=____, b=____ 问下划线的部分应是什么,请完成。 2. 考题二:代码如下。 Exchg2(int *px, int *py) { int tmp=*px; *px=*py; *py=tmp; print(“*px=%d,*py=%d/n”,*px,*py); } main() { int a=4; int b=6; Exchg2(&a,&b); Print(“a=%d,b=%d/n”, a, b); } 输出的结果为: *px=____, *py=____ a=____, b=____ 问下划线的部分应是什么,请完成。 3. 考题三: Exchg2(int &x, int &y) { int tmp=x; x=y; y=tmp; print(“x=%d,y=%d/n”,x,y); } main() { int a=4; int b=6; Exchg2(a,b); Print(“a=%d,b=%d/n”, a, b); } 输出的结果: x=____, y=____ a=____, b=____ 问下划线的部分输出的应是什么,请完成。 你不在机子上试,能作出来吗?你对你写出的答案有多大的把握? 正确的答案,想知道吗?(呵呵,让我慢慢地告诉你吧!) 好,废话少说,继续我们的探索之旅了。 我们都知道:C 语言中函数参数的传递有:值传递,地址传递,引用传递这三种形式。题一为值传递,题二为地址传递,题三为引用传递。不过,正是这几种参数传递的形式,曾把我给搞得晕头转向。我相信也有很多人与我有同感吧? 下面请让我逐个地谈谈这三种传递形式。 二、函数参数传递方式之一:值传递 1. 一个预备的常识 为了说明这个问题,我先给出一个代码: int a=4; int x; x=a; x=x+3; 看好了没,现在我问你:最终a 值是多少,x 值是多少? (怎么搞的,给我这个小儿科的问题。还不简单,不就是a==4 x==7嘛!) 在这个代码中,你要明白一个东西:虽然a 值赋给了x ,但是a 变量并不是x 变量哦。我们对x 任何的修改,都不会改变a 变量。呵呵!虽然简单,并且一看就理所当然,不过可是一个很重要的认识喔。

EXCEL的函数大全(完整版)

实用EXCE的函数 1.ADDRESS 用途:以文字形式返回对工作簿中某一单元格的引用。 语法:ADDRESS(row_num,column_num,abs_num,a1,sheet_text) 参数:Row_num是单元格引用中使用的行号;Column_num是单元格引用中使用的列 标;Abs_num指明返回的引用类型(1或省略为绝对引用,2绝对行号、相对列标,3相对行号、绝对列标,4是相对引用);A1是一个逻辑值,它用来指明是以A1或R1C1返回引用样式。如果A1为TRUE或省略,函数ADDRESS返回A1样式的引用;如果A1为FALSE,函数ADDRESS 返回R1C1样式的引用。Sheet_text为一文本,指明作为外部引用的工作表的名称,如果省略sheet_text,则不使用任何工作表的名称。 实例:公式“=ADDRESS(1,4,4,1)”返回D1。 2.AREAS 用途:返回引用中包含的区域个数。 语法:AREAS(reference)。 参数:Reference是对某一单元格或单元格区域的引用,也可以引用多个区域。 注意:如果需要将几个引用指定为一个参数,则必须用括号括起来,以免Excel将逗号作为参数间的分隔符。 实例:公式“=AREAS(a2:b4)”返回1,=AREAS((A1:A3,A4:A6,B4:B7,A16:A18))返回4。 3.CHOOSE 用途:可以根据给定的索引值,从多达29个待选参数中选出相应的值或操作。 语法:CHOOSE(index_num,value1,value2,...)。 参数:Index_num是用来指明待选参数序号的值,它必须是1到29之间的数字、或者是包含数字1到29的公式或单元格引用;value1,value2,...为1到29个数值参数,可以是数字、单元格,已定义的名称、公式、函数或文本。 实例:公式“=CHOOSE(2,"电脑","爱好者")返回“爱好者”。公式“=SUM(A1:CHOOSE(3,A10,A20,A30))”与公式“=SUM(A1:A30)”等价(因为CHOOSE(3,A10,A20,A30)返回A30)。 4.COLUMN

IP地址计算方法

计算IP地址 一、IP地址概念 IP地址是一个32位的二进制数,它由网络ID和主机ID两部份组成,用来在网络中唯一的标识的一台计算机。网络ID用来标识计算机所处的网段;主机ID用来标识计算机在网段中的位置。IP地址通常用4组3位十进制数表示,中间用“.”分隔。比如,。 补充(IPv6):前面所讲的32位IP地址称之为IPv4,随着信息技术的发展,IPv4可用IP地址数目已经不能满足人们日常的需要,据权威机构预测到2010年要充分应用信息技术,每个人至少需要10个IP地址,比如:计算机、笔记本、手机和智能化冰箱等。为了解决该问题开发了IPv6规范,IPv6用128位表示IP地址,其表示为8组4位16进制数,中间为“:”分隔。比如, AB32:33ea:89dc:cc47:abcd:ef12:abcd:ef12。 二、IP地址的分类 为了方便IP寻址将IP地址划分为A、B、C、D和E五类,每类IP地址对各个IP 地址中用来表示网络ID和主机ID的位数作了明确的规定。当主机ID的位数确定之后,一个网络中是多能够包含的计算机数目也就确定,用户可根据企业需要灵活选择一类IP地址构建网络结构。 A类 A类地址用IP地址前8位表示网络ID,用IP地址后24位表示主机ID。A类地址用来表示网络ID的第一位必须以0开始,其他7位可以是任意值,当其他7位全为0是网络ID最小,即为0;当其他7位全为1时网络ID最大,即为127。网络ID不能为0,它有特殊的用途,用来表示所有网段,所以网络ID最小为1;网络ID也不能为127;127用来作为网络回路测试用。所以A类网络网络ID的有效范围是1-126共126个网络,每个网络可以包含224-2台主机。 B类 B类地址用IP地址前16位表示网络ID,用IP地址后16位表示主机ID。B类地址用来表示网络ID的前两位必须以10开始,其他14位可以是任意值,当其他14位全为0是网络ID最小,即为128;当其他14位全为1时网络ID最大,第一个字节数

函数调用参数传递类型(java)的用法介绍.

函数调用参数传递类型(java)的用法介绍. java方法中传值和传引用的问题是个基本问题,但是也有很多人一时弄不清。 (一)基本数据类型:传值,方法不会改变实参的值。 public class TestFun { public static void testInt(int i){ i=5; } public static void main(String[] args) { int a=0 ; TestFun.testInt(a); System.out.println("a="+a); } } 程序执行结果:a=0 。 (二)对象类型参数:传引用,方法体内改变形参引用,不会改变实参的引用,但有可能改变实参对象的属性值。 举两个例子: (1)方法体内改变形参引用,但不会改变实参引用,实参值不变。 public class TestFun2 { public static void testStr(String str){ str="hello";//型参指向字符串“hello” } public static void main(String[] args) { String s="1" ;

TestFun2.testStr(s); System.out.println("s="+s); //实参s引用没变,值也不变 } } 执行结果打印:s=1 (2)方法体内,通过引用改变了实际参数对象的内容,注意是“内容”,引用还是不变的。 import java.util.HashMap; import java.util.Map; public class TestFun3 { public static void testMap(Map map){ map.put("key2","value2");//通过引用,改变了实参的内容 } public static void main(String[] args) { Map map = new HashMap(); map.put("key1", "value1"); new TestFun3().testMap(map); System.out.println("map size:"+map.size()); //map内容变化了 } } 执行结果,打印:map size:2 。可见在方法testMap()内改变了实参的内容。 (3)第二个例子是拿map举例的,还有经常涉及的是 StringBuffer : public class TestFun4 {

EXCEL函数公式大全

excel常用函数公式及技巧搜集(常用的)【身份证信息?提取】 从身份证号码中提取出生年月日 =TEXT(MID(A1,7,6+(LEN(A1)=18)*2),"#-00-00")+0 =TEXT(MID(A1,7,6+(LEN(A1)=18)*2),"#-00-00")*1 =IF(A2<>"",TEXT((LEN(A2)=15)*19&MID(A2,7,6+(LEN(A2)=18)*2),"#-00-00")+0,) 显示格式均为yyyy-m-d。(最简单的公式,把单元格设置为日期格式) =IF(LEN(A2)=15,"19"&MID(A2,7,2)&"-"&MID(A2,9,2)&"-"&MID(A2,11,2),MID(A2,7,4)& "-"&MID(A2,11,2)&"-"&MID(A2,13,2)) 显示格式为yyyy-mm-dd。(如果要求为“1995/03/29”格式的话,将”-”换成”/”即可) =IF(D4="","",IF(LEN(D4)=15,TEXT(("19"&MID(D4,7,6)),"0000年00月00日 "),IF(LEN(D4)=18,TEXT(MID(D4,7,8),"0000年00月00日")))) 显示格式为yyyy年mm月dd日。(如果将公式中“0000年00月00日”改成“0000-00-00”,则显示格式为yyyy-mm-dd) =IF(LEN(A1:A2)=18,MID(A1:A2,7,8),"19"&MID(A1:A2,7,6)) 显示格式为yyyymmdd。 =TEXT((LEN(A1)=15)*19&MID(A1,7,6+(LEN(A1)=18)*2),"#-00-00")+0 =IF(LEN(A2)=18,MID(A2,7,4)&-MID(A2,11,2),19&MID(A2,7,2)&-MID(A2,9,2)) =MID(A1,7,4)&"年"&MID(A1,11,2)&"月"&MID(A1,13,2)&"日" =IF(A1<>"",TEXT((LEN(A1)=15)*19&MID(A1,7,6+(LEN(A1)=18)*2),"#-00-00")) 从身份证号码中提取出性别 =IF(MOD(MID(A1,15,3),2),"男","女") (最简单公式) =IF(MOD(RIGHT(LEFT(A1,17)),2),"男","女") =IF(A2<>””,IF(MOD(RIGHT(LEFT(A2,17)),2),”男”,”女”),) =IF(VALUE(LEN(ROUND(RIGHT(A1,1)/2,2)))=1,"男","女") 从身份证号码中进行年龄判断 =IF(A3<>””,DATEDIF(TEXT((LEN(A3)=15*19&MID(A3,7,6+(LEN(A3)=18*2),”#-00-00”),T ODAY(),”Y”),) =DATEDIF(A1,TODAY(),“Y”) (以上公式会判断是否已过生日而自动增减一岁) =YEAR(NOW())-MID(E2,IF(LEN(E2)=18,9,7),2)-1900 =YEAR(TODAY())-IF(LEN(A1)=15,"19"&MID(A1,7,2),MID(A1,7,4)) =YEAR(TODAY())-V ALUE(MID(B1,7,4))&"岁" =YEAR(TODAY())-IF(MID(B1,18,1)="",CONCATENATE("19",MID(B1,7,2)),MID(B1,7,4)) 按身份证号号码计算至今天年龄 =DATEDIF(TEXT((LEN(A1)=15)*19&MID(A1,7,6+(LEN(A1)=18)*2),"#-00-00"),TODAY(),"y") 以2006年10月31日为基准日,按按身份证计算年龄(周岁)的公式

IP地址计算方法

子网掩码计算方法: 方法一:利用子网数来计算。 1.首先,将子网数目从十进制数转化为二进制数; 2.接着,统计由“1”得到的二进制数的位数,设为N; 3.最后,先求出此IP地址对应的地址类别的子网掩码。再将求出的子网掩码的主机地址部分(也就是“主机号”)的前N位全部置1,这样即可得出该IP地址划分子网的子网掩码。 例如:需将B类IP地址167.194.0.0划分成28个子网:1)(28)10=(11100)2; 2)此二进制的位数是5,则N=5;3)此IP地址为B类地址,而B类地址的子网掩码是255.255.0.0,且B类地址的主机地址是后2位(即0-255.1-254)。于是将子网掩码255.255.0.0中的主机地址前5位全部置1,就可得到255.255.248.0,而这组数值就是划分成 28个子网的B类IP地址 167.194.0.0的子网掩码。 方法二:利用主机数来计算。 1.首先,将主机数目从十进制数转化为二进制数; 2.接着,如果主机数小于或等于254(注意:应去掉保留的两个IP地址),则统计由“1”中得到的二进制数的位数,设为N;如果主机数大于254,则 N>8,也就是说主机地址将超过8位; 3.最后,使用255.255.255.255将此类IP地址的主机地址位数全部置为1,然后按照“从后向前”的顺序将N位全部置为0,所得到的数值即为所求的子网掩码值。 例如:需将B类IP地址167.194.0.0划分成若干个子网,每个子网内有主机500台:1)(500)10=(111110100)2;2)此二进制的位数是9,则N=9;3)将该B类地址的子网掩码255. 255.0.0的主机地址全部置 1,得到255.255.255.255。然后再从后向前将后9位置0,可得:11111111. 11111111.11111110.00000000即255.255.254.0。这组数值就是划分成主机为500台的B类IP地址167.194.0.0的子网掩码 一、子网掩码的计算

Excel公式函数大全(超全)

Excel公式应用大全 1、ABS函数 函数名称:ABS 主要功能:求出相应数字的绝对值。 使用格式:ABS(number) 参数说明:number代表需要求绝对值的数值或引用的单元格。 应用举例:如果在B2单元格中输入公式:=ABS(A2),则在A2单元格中无论输入正数(如100)还是负数(如-100),B2中均显示出正数(如100)。 特别提醒:如果number参数不是数值,而是一些字符(如A等),则B2中返回错误值“#VALUE!”。 2、AND函数 函数名称:AND 主要功能:返回逻辑值:如果所有参数值均为逻辑“真(TRUE)”,则返回逻辑“真(TRUE)”,反之返回逻辑“假(FALSE)”。 使用格式:AND(logical1,logical2, ...) 参数说明:Logical1,Logical2,Logical3……:表示待测试的条件值或表达式,最多这30个。 应用举例:在C5单元格输入公式:=AND(A5>=60,B5>=60),确认。如果C5中返回TRUE,说明A5和B5中的数值都大于60,如果返回FALSE,说明A5和B5中的数值至少有一个小于60。 特别提醒:如果指定的逻辑条件参数中包含非逻辑值时,则函数返回错误值“#VALUE!”或“#NAME”。 3、AVERAGE函数 函数名称:AVERAGE 主要功能:求出所有参数的算术平均值。 使用格式:AVERAGE(number1,number2,……) 参数说明:number1,number2,……:需要求平均值的数值或引用单元格(区域),参数不超过30个。 应用举例:在B8单元格中输入公式: =AVERAGE(B7:D7,F7:H7,7,8),确认后,即可求出B7至D7区域、F7至H7区域中的数值和7、8的平均值。 特别提醒:如果引用区域中包含“0”值单元格,则计算在内;如果引用区域中包含空白或字符单元格,则不计算在内。 4、COLUMN 函数 函数名称:COLUMN 主要功能:显示所引用单元格的列标号值。 使用格式:COLUMN(reference)

C语言函数调用三种方式 传值调用,引用调用和传地址调

C语言函数调用三种方式传值调用,引用调用和传地址调 我想,你只要看了C语言上关于传值函数调用的测试题,一切都会了然于胸:1. 考题一:程序代码如下: void Exchg1(int x, int y) { int tmp; tmp=x; x=y; y=tmp; printf(“x=%d,y=%d\n”,x,y) } void main() { int a=4,b=6; Exchg1 (a,b) ; printf(“a=%d,b=%d\n”,a,b) } 输出的结果: x=____, y=____ a=____, b=____ 问下划线的部分应是什么,请完成。 2. 考题二:代码如下。 Exchg2(int *px, int *py) { int tmp=*px; *px=*py; *py=tmp; print(“*px=%d,*py=%d\n”,*px,*py); } main()

{ int a=4; int b=6; Exchg2(&a,&b); Print(“a=%d,b=%d\n”, a, b); } 输出的结果为: *px=____, *py=____ a=____, b=____ 问下划线的部分应是什么,请完成。 3. 考题三: Exchg2(int &x, int &y) { int tmp=x; x=y; y=tmp; print(“x=%d,y=%d\n”,x,y); } main() { int a=4; int b=6; Exchg2(a,b); Print(“a=%d,b=%d\n”, a, b); } 二.函数参数传递方式之一:值传递 1.值传递的一个错误认识 先看题一中Exchg1函数的定义: void Exchg1(int x, int y) //定义中的x,y变量被称为Exchg1函数的形式参数{

EXCEL常用函数大全

EXCEL常用函数大全(做表不求人!) 2013-12-03 00:00 我们在使用Excel制作表格整理数据的时候,常常要用到它的函数功能来自动统计处理表格中的数据。这里整理了Excel中使用频率最高的函数的功能、使用方法,以及这些函数在实际应用中的实例剖析,并配有详细的介绍。 1、ABS函数 函数名称:ABS 主要功能:求出相应数字的绝对值。 使用格式:ABS(number) 参数说明:number代表需要求绝对值的数值或引用的单元格。 应用举例:如果在B2单元格中输入公式:=ABS(A2),则在A2单元格中无论输入正数(如100)还是负数(如-100),B2中均显示出正数(如100)。 特别提醒:如果number参数不是数值,而是一些字符(如A等),则B2中返回错误值“#VALUE!”。

2、AND函数 函数名称:AND 主要功能:返回逻辑值:如果所有参数值均为逻辑“真(TRUE)”,则返回逻辑“真(TRUE)”,反之返回逻辑“假(FALSE)”。 使用格式:AND(logical1,logical2, ...) 参数说明:Logical1,Logical2,Logical3……:表示待测试的条件值或表达式,最多这30个。 应用举例:在C5单元格输入公式:=AND(A5>=60,B5>=60),确认。如果C5中返回TRUE,说明A5和B5中的数值均大于等于60,如果返回FALSE,说明A5和B5中的数值至少有一个小于60。 国美提醒:如果指定的逻辑条件参数中包含非逻辑值时,则函数返回错误值“#VALUE!”或“#NAME”。 3、AVERAGE函数 函数名称:AVERAGE 主要功能:求出所有参数的算术平均值。

总结Java方法(函数)传值和传引用的问题

总结Java方法(函数)传值和传引用的问题 java方法中传值和传引用的问题是个基本问题,但是也有很多人一时弄不清。 (一)基本数据类型:传值,方法不会改变实参的值。 public class TestFun { public static void testInt(int i){ i=5; } public static void main(String[] args) { int a=0 ; TestFun.testInt(a); System.out.println("a="+a); } } 程序执行结果:a=0 。 (二)对象类型参数:传引用,方法体内改变形参引用,不会改变实参的引用,但有可能改变实参对象的属性值。 举两个例子: (1)方法体内改变形参引用,但不会改变实参引用,实参值不变。 public class TestFun2 { public static void testStr(String str){ str="hello";//型参指向字符串“hello” } public static void main(String[] args) { String s="1" ;

TestFun2.testStr(s); System.out.println("s="+s); //实参s引用没变,值也不变 } } 执行结果打印:s=1 (2)方法体内,通过引用改变了实际参数对象的内容,注意是“内容”,引用还是不变的。 import java.util.HashMap; import java.util.Map; public class TestFun3 { public static void testMap(Map map){ map.put("key2","value2");//通过引用,改变了实参的内容 } public static void main(String[] args) { Map map = new HashMap(); map.put("key1", "value1"); new TestFun3().testMap(map); System.out.println("map size:"+map.size()); //map内容变化了 } } 执行结果,打印:map size:2 。可见在方法testMap()内改变了实参的内容。 (3)第二个例子是拿map举例的,还有经常涉及的是 StringBuffer : public class TestFun4 {

1 如何计算网络地址

1 如何计算网络地址 如何计算网络地址 我们日常生活中的地址如:北大街1号,从字面上就能看出街道地址是北大街,而我们从IP地址中却难以看出网络地址,要计算网络地址,必须借助我们上边提到过的子网掩码。 计算过程是这样的,将IP地址和子网掩码都换算成二进制,然后进行与运算,结果就是网络地址。与运算如下所示,上下对齐,1位1位的算,1与1=1 ,其余组合都为0。 1...0...1 0 1...0...0 0 与运算________________ 1...0...0 0 例如:计算IP地址为:202.99.160.50子网掩码是255.255.255.0的网络地址步骤如下:1)将IP地址和子网掩码分别换算成二进制 202.99.160.50 换算成二进制为11001010?01100011?10100000?00110010 255.255.255.0 换算成二进制为11111111?11111111?11111111?00000000 2)将二者进行与运算 11001010?01100011?10100000?00110010 11111111?11111111?11111111?00000000 与运算________________________________________ 11001010?01100011?10100000?00000000 3)将运算结果换算成十进制,这就是网络地址。 11001010?01100011?10100000?00000000换算成十进制就是202.99.160.0 现在我们就可以解答上面三种情况的通与不通的问题了。 1、从下面运算结果可以看出二台计算机的网络地址都为192.168.0.0且IP地址不同,所以可以通。 192.168.0.111000000.10101000.00000000.00000001 255.255.255.011111111.11111111.11111111.00000000 与运算______________________________________________________________ 192.168.0.011000000.10101000.00000000.00000000 192.168.0.20011000000.10101000.00000000.11001000 255.255.255.011111111.11111111.11111111.00000000 与运算______________________________________________________________ 192.168.0.011000000.10101000.00000000.00000000 2、从下面运算结果可以看出1号机的网络地址为192.168.0.0,2号机的网络地址为192.168.1.0 不在一个网络,所以不通。 192.168.1.20011000000.10101000.00000001.11001000 255.255.255.011111111.11111111.11111111.00000000 与运算______________________________________________________________ 192.168.1.011000000.10101000.00000001.00000000 3、从下面运算结果可以看出1号机的网络地址为192.168.0.0,2号机的网络地址为192.168.0.192 不在一个网络,所以不通 192.168.0.111000000.10101000.00000000.00000001 255.255.255.19211111111.11111111.11111111.11000000 与运算______________________________________________________________

根据子网掩码计算网络地址与广播地址的方法

根据子网掩码计算网络地址和广播地址的方法 这个公式也是我在一次培训中老师给讲的,我觉的不错写下来大家份享一下. A(子网个数)=256-异常掩码 B=异常掩码对应IP地址 C(网络号)=B/A 得到最接近B的但小于B的能被A整除的数(得出网络地址) D(广播地址)=C+A-1(得出广播地址) 例:172.23.56.167 255.255.255.240 A=256-240=16 B=167 C=167/16=160 D=160+16-1=175 网络地址172.23.56.160 广播地址172.23.56.175 IP地址范围172.23.56.161-172.23.56.174 也可以这样理解,公式同上: 一个主机的IP地址是172.23.56.167,掩码是255.255.255.240 255.255.255.240的掩码所容纳的IP地址有256-240=16个(包括网络地址和广播地址),那么具有这种掩码的网络地址一定是16的倍数.而网络地址是子网IP地址的开始,广播地址是结束,可使用的主机地址在这个范围内,因此略小于167而又是16的倍数的只有160,所以得出网络地址是172.23.56.160.而广播地址就是下一个网络的网络地址减1.而下一个16的倍数是176,因此可以得到广播地址为172.23.56.175 例:255.254.0.0 123.150.0.0 A=256-254=2 B=150 C=150/2=150 D=150 + 2 -1=151 IP地址范围123.150.0.0 - 123.151.255.255 VLSM: 使用可变长掩码(Variable Length Subnet Mask,VLSM)就是指一个网络可以用不同的掩码进行配置。这样做的目的是为了使把一个网络划分成多个子网更加方便。在没有VLSM的情况下,一个网络只能使用一种子网掩码,这就限制了在给定的子网数目条件下主机的数目。 无类的内部域路由(CIDR) 子网掩码 CIDR值 255.0.0.0 /8 255.127.0.0 /9 255.192.0.0 /10 255.224.0.0 /11

相关主题
文本预览
相关文档 最新文档