定义和用法 parseInt() 函数可解析一个字符串,并返回一个整数。 语法
1 |
parseInt(<em>string</em>, <em>radix</em>) |
参数 描述 string 必需。要被解析的字符串。 radix 可选。表示要解析的数字的基数。该值介于 2 ~ 36 之间。 如果省略该参数或其值为 0,则数字将以 10 为基础来解析。如果它以 “0x” 或 “0X” 开头,将以 16 为基数。 如果该参数小于 2 或者大于 36,则 parseInt() 将返回 NaN。 返回值 返回解析后的数字。 说明 当参数 radix 的值为 0,或没有设置该参数时,parseInt() 会根据 string 来判断数字的基数。 举例,如果 string 以 "0x" 开头,parseInt() 会把 string 的其余部分解析为十六进制的整数。如果 string 以 0 开头,那么 ECMAScript v3 允许 parseInt() 的一个实现把其后的字符解析为八进制或十六进制的数字。如果string 以 1 ~ 9 的数字开头,parseInt() 将把它解析为十进制的整数。 提示和注释 注释:只有字符串中的第一个数字会被返回。 注释:开头和结尾的空格是允许的。 提示:如果字符串的第一个字符不能被转换为数字,那么 parseFloat() 会返回 NaN。 实例 在本例中,我们将使用 parseInt() 来解析不同的字符串:
1 2 3 4 5 6 |
parseInt("10"); //返回 10 parseInt("19",10); //返回 19 (10+9) parseInt("11",2); //返回 3 (2+1) parseInt("17",8); //返回 15 (8+7) parseInt("1f",16); //返回 31 (16+15) parseInt("010"); //未定:返回 10 或 8 |
VPN 是什么?嗯,VPN —— 虚拟专用网,是一个可以创建一个安全的网络连接到一个公共网络如互联网的网络技术。它允许主机发送和接收数据通过共享或公共网络,就像它们在私有网络的一样,功能、安全性和管理策略跟正常的网络无异。 本文介绍 15 个你可以免费使用的 VPN 服务,每个服务的介绍基本上大同小异,大家请自行到官网查看: VPN Reactor 这个 VPN 服务完全免费,无需安装任何软件,兼容所有平台,包括 Windows, Mac OSX, iPhone/iPod, iPad 和 Unix 等等. Hideman 这是支持 Windows 系统的编写 VPN 解决方案,可以为你分配不同国家的 IP 地址,包括:Australia, Canada, Czech Republic, France, Germany, Netherlands, Panama, Russia, Singapore, Ukraine, UK, US; 可以让你访问一些对地区限制的网站。 SecurityKISS 这是基于 OpenVPN 的 VPN 实现,最大的优点就是使用极其简单,无需注册。 WebSite VPN 该服务为你提供美国的 PPTP VPN,支持 Windows, OSX, iOS (iPhone, iPad) Android Phones, 平板和路由器。可匿名访问网站。 USA IP 这是美国的 IP,提供免费的 PPTP, L2TP 和 OpenVPN 测试帐号,可运行在 Mac OS, Windows 7, Vista, XP, and Linux iVPN 提供不同的 VPN 服务,包括 OpenVPN 和 L2TP/IPSec 协议支持。 newipvpn […]
View DetailsJ2SE J2EE J2ME的区别多数编程语言都有预选编译好的类库以支持各种特定的功能,在Java中,类库以包(package)的形式提供,不同版本的Java提供不同的包,以面向特定的应用。 Java2平台包括标准版(J2SE)、企业版(J2EE)和微缩版(J2ME)三个版本:Standard Edition(标准版) J2SE 包含那些构成Java语言核心的类。比如:数据库连接、接口定义、输入/输出、网络编程Enterprise Edition(企业版) J2EE 包含J2SE 中的类,并且还包含用于开发企业级应用的类。比如:EJB、servlet、JSP、XML、事务控制Micro Edition(微缩版) J2ME 包含J2SE中一部分类,用于消费类电子产品的软件开发。比如:呼机、智能卡、手机、PDA、机顶盒 他们的范围是:J2SE包含于J2EE中,J2ME包含了J2SE的核心类,但新添加了一些专有类 应用场合,API的覆盖范围各不相同。笼统的讲,可以这样理解:J2SE是基础;压缩一点,再增加一些CLDC等方面的特性就是J2ME;扩充一点,再增加一些EJB等企业应用方面的特性就是J2EE。 补充一点J2EE更恰当的说,应该是JAVA2企业开发的技术规范,不仅仅是比标准版多了一些类。jdk,j2ee,j2se,j2me的概念区别1.JDK是Java development toolkit,相当于是Java的库函数,是编译,运行java程序的工具包。J2EE是Java 2 enterprise edition是Java的一种企业版用于企业级的应用服务开发J2SE是Java 2 standard edition是Java的标准版,用于标准的应用开发J2ME是Java 2 Micro Edition是Java的微型版,常用于手机上的开发J2EE,J2SE,J2ME是java针对不同的的使用来提供不同的服务,也就是提供不同类型的类库。针对企业网应用的J2EE(Java 2 Enterprise Edition)、针对普通PC应用的J2SE(Java 2 Standard Edition)和 针对嵌入式设备及消费类电器的J2ME(Java 2 Micro Edition)三个版本对于初学者,都是从J2SE入手的。 2. j2ee和j2se的区别:j2ee是在j2se的基础上添加了一系列的企业级应用编程接口.j2ee包含有很多的技术!其中有你熟悉的jsp,servlet,jdbc,jme等13中技术!j2ee主要是用来做B/S结构的应用程序!也就是说是基于浏览器和服务器的!j2se给我的感觉只需要一个容器就够了,j2ee支持分布式组件可以同时存在多个容器 1、J2EE到底是什么? J2EE,是sun公司提出的一个标准,符合这个标准的产品叫“实现”;其中你下载的sun公司的j2ee开发包中就有一个这样的“实现”,而jboss,weblogic,websphere都是j2ee标准的一个“实现”。由于jboss,weblogic,websphere自身带有j2ee的api,所以可以不使用sun的j2ee实现。 2、j2ee sdk和j2sdkee的区别 其实你可以把j2ee sdk和j2sdkee当成是一回事,官方叫法为 j2ee sdk。不过如果你仔细推敲,也可以用下面的方法来理解:j2eesdk就是jdk,这个是开发ejg必须要安装的,j2sdkee是j2ee开发环境,这也是要安装的,其实如果你安装了jboss的话,就不用全部安装j2sdkee了,只要把其中的一个名为j2ee的文件复制过去就可以了,也就是说jdk是必须要装的,而j2sdkee则不需要,看你用什么做容器了。 3、装过j2ee sdk还需要装j2se sdk吗? 在sun的网站下载J2ee1.4时,有两种下载包: 一种是j2ee1.4 sdk完整包(all in one),包含j2ee server,j2se, sample, api doc; j2ee 好像包含j2se 几乎所有东西.我看 j2ee里也有一个jdk ,它下面的lib和j2se下面的lib一样大(同版本的).但jre不一样大,因为j2ee比j2se多了好多,如java.servlet.* ,java.servlet.http.* 等. j2ee 是让你用来开发 j2ee specification 的东西.如果是用于web 服务器,不装j2ee也行,只要装一个jre (连j2se都不用装),外加一个servlet引擎(如tomcat)就够了. 看下面这个,一目了然: j2se == jdk == bin + demo + include + jre + lib + src.rar //SUN官方的jdk1.4.2 j2ee == jdk + …. //这里的 jdk 和上面的只有 jre 文件不一样大,原因上文已说. 另一种为单独的j2ee server,安装前需要先安装j2se sdk。 不管哪个,安装完成后,都要设置java_home,j2ee_home,classpath环境变量,再运行j2ee server即可。 为了方便开发者,Sun把Java区分为J2SE(Java 2 Standard Edition)、J2EE(Java 2 Enterprise Edition)、J2ME(Java 2 Micro Edition)和Java Card四种平台。J2SE是所有Java技术的基础,不管开发人员要开发什么平台的Java应用程序,都必须先从J2SE学起。J2EE技术着重于企业服务器端的应用。J2ME主要针对嵌入式系统,包括手机、PDA等。针对手机应用程序的开发,Sun还提供了免费的J2ME Wireless Toolkit。Java Card技术用来开发可以植入IC智能卡中的应用程序。 以上四种平台的软件开发包(Software Development Kit,SDK)都是免费的,可以从Sun的网站下载。当然,只用SDK未免太不讲究,我们需要开发工具来提高开发效率。这样的工具叫做集成开发环境(Integrated Development Environment,IDE)。以往,Borland JBuilder和IBM Eclipse这两个IDE最受Java程序员的青睐,而Sun自己的IDE却名不见经传。2004年以后,Sun把自己的IDE摆放到重要的位置,努力推进NetBeans和Java Studio的开发。前者是完全用Java撰写的开放源代码的工具,而后者则是重量级的官方开发工具。Sun的开发工具可谓根正苗红,Java程序员终于可以沐浴Sun(阳光)普照了! 转自:http://hi.baidu.com/mlgzkj/item/adc9c3bf54206ff062388efe
View Details我们都知道,如果是清空数据库中所有表的数据的,那比较好办,只要利用系统表sys.tables查询出数据库中所有表信息,然后再用游标循环清空就好了,附SQL语句如下:
1 2 3 4 5 6 7 8 9 10 11 |
declare @tbname varchar(255) declare #tb cursor for select name from sys.tables open #tb fetch next from #tb into @tbname while @@fetch_status=0 begin exec('delete from ['+@tbname+']') fetch next from #tb into @tbname end close #tb deallocate #tb |
有关sys.tables的用法,请参考本站:利用SQL语句查询数据库中所有表 但有时候我们是要有选择性的清空某些表信息,小编最近就遇到这种情况,我只需清空小编负责的ERP系统中的所有业务流程数据,而基础信息与系统配置信息是不能被清除的,怎么办呢?为了达了快速与重复利用的目的,小编把自己的解决方案附下: 先创建一个配置表,表名为:Sys_TableExtendedProperties表字段如下:TableName-存储系统中所有表的表名IsSystem-指定表是否为系统表IsBaseInformation-指定表是否为基础数据表……其它字段,请大家根据自己的需要添加然后我们将所有表的信息添加到表中(此步骤虽然烦琐,但为了以后的快速调用,现在烦琐点也是值得的),然后,我们写一个存储过程来清空指定数据。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
/* 创建时间:2011-10-11 功能:清除所有指定表的数据 创建人:程序食堂 */ create procedure ClearDate @sourcetype int as set nocount on declare @TableName varchar(128) declare @T_Table table(TableName varchar(128) not null) --获取要删除数据的表 if(sourcetype=1) --如果sourcetype=1,删除所有系统数据 begin insert into @T_Table(TableName) select name from sys.tables where exists(select * from Sys_TableExtendedProperties where Sys_TableExtendedProperties.TableName = sys.tables.name and Sys_TableExtendedProperties.IsSystemTable = 1) order by name end else if(sourcetype=2) --如果sourcetype=2,删除所有基础数据 begin insert into @T_Table(TableName) select name from sys.tables where exists(select * from Sys_TableExtendedProperties where Sys_TableExtendedProperties.TableName = sys.tables.name and Sys_TableExtendedProperties.IsBaseInformation = 1) order by name end else --如果sourcetype等于其它值,删除所有业务数据 begin insert into @T_Table(TableName) select name from sys.tables where exists(select * from Sys_TableExtendedProperties where Sys_TableExtendedProperties.TableName = sys.tables.name and Sys_TableExtendedProperties.IsSystemTable = 0 and Sys_TableExtendedProperties.IsBaseInformation = 0) order by name end while exists(select * from @T_Table) begin --随机取表名 select top 1 @TableName = TableName from @T_Table order by newid() begin try --尝试清除表数据 if not exists(select * from sysforeignkeys where object_name(rkeyid)=@TableName) begin exec('truncate table '+@TableName) end else begin --删除表数据(如果有触发器,先关闭触发器) --禁用与启用触发器,请参见本站: 利用Sql禁用与启用触发器 exec('alter table '+@TableName + ' disable trigger all delete from '+@TableName + ' alter table '+@TableName + ' enable trigger all') --有自增栏位 if exists(select * from syscolumns where id = object_id(@TableName) and colstat = 1) begin --将自增栏位当前标识值置为0 DBCC CHECKIDENT (@TableName, RESEED, 0) end end delete @T_Table where TableName = @TableName end try begin catch end catch end |
现在,我们任意时候想清空指定表数据时,执行该存储过程即可。 转自:http://www.lmwlove.com/ac/ID637
View Details“以后咱俩再也不加班了!”他搂着正在做包子的老婆说。“2013年,他离开IT业,华丽转身成一个水果店老板。摘掉眼镜,青春焕发,头发也长出来了……”这几天,微博上最红事件之一,就是“苦逼的攻城狮和程序猿”终于按捺不住内心的激情,听从灵魂的召唤,毅然告别辛苦打拼的IT圈,只留给同事们一个销魂的背影。 辞职后,他们去干什么了?是不是“从此王子与公主过着幸福的生活”?既然江湖上少了苦逼IT人士,那么多了什么呢?原来是多了卖水果的老板和卖快餐的老板娘。 上海:张江IT女辞职卖快餐 “每月赚的还不到以前的零头,但有意思就去做呗!” 网事回放 “这几天,都有好几百人@我们的微博@利味记快餐,咨询该如何创业呢!”《IT时报》记者眼前的这对夫妇,在网络上一夜爆红是因为@浦东张江某 天转了个他们的故事:张江一对小夫妻,哈工大和复旦的高材生,夫妻俩上个月在吃包子的时候,得出了灵感,于是双双辞职,在张江快乐地开了快餐店。 在软件公司,上厕所都要一路小跑 就是这个关于“包子的爱”的故事,打动了无数张江IT男的心,他们纷纷捶胸顿足,“再也不想当什么攻城狮、程序猿啦!”一日傍晚时分,记者来到 这对夫妇位于张江路建中路一个公交站点的爱心餐车前,天空下起了细雨,颇有几丝凉意,可餐车前依旧很热闹,刚下课的学生、等车的白领、路过的老人家,都停 下来到餐车前买个蛋饼、买份烤肠垫垫肚子。 夫妇俩先生叫卿有钱,太太叫张进军,一见面,他们就笑着说先要澄清个事儿,事实上老婆大人才是传说中的那个“张江IT女”。“我们读的都是哈工 大,大二认识大三谈的恋爱,1999年大学毕业就在学校餐厅举行了婚礼,现在是名副其实的老夫老妻了!”工作十几年间,张进军差不多在张江软件园的各家公 司兜了个遍,从软件开发、测试到产品发布,很多职位都干过。最长的一家是美资企业信真软件,呆了7年,“离开前的职位是品质经理,”张进军说,忙的时候, 常常上厕所都要一路小跑,“也会问自己,难道真的一辈子和冷冰冰的电脑打交道?” 先生卿有钱热爱公益事业,他劝太太,不如干脆辞职算了,“工作整整13年,几乎从没好好休息过。你也三十七八岁了,这样年纪的女性再在IT圈里写代码拼技术,到底有多大意义呢?”于是,软件公司少了个女产品经理,公车站则多了个快餐老板娘。 头一个月损失了5000元 点鼠标和卖快餐,总归是两码事。夫妻俩也是“新娘子上轿头一回”。4月初餐车正式开张,谁知道月底一对账,发现损失了5000元!“可能是公司 配货时少了,或者是东西放在餐车后面的货架上被人拿走了,反正我们也搞不清楚了。”卿有钱说,一开始真的没经验,就连每天都要清点进货和存货清单都不懂, 账居然是一个月过后才对,“现在知道了,我们每天都会算一下账对不对。”“其实,这也是跨出沟通的第一步,要想建立人与人之间的信任,就要不计得失。”张 进军说,常常有旁边等车的人发现没带零钱,临时到餐车来换硬币,或者干脆借几块零钱,他们绝无二话。 小小的餐车边就像一个收集故事的“树洞”。一次两个学生为小事打起架来,他们拉来张进军评理,老板娘耐心听完他们各自的说辞,认真分析前因后 果,最后两个孩子勾肩搭背乘车走了。又有一次,一个妈妈带着女儿等车,顺便买了个手抓饼,张进军见她愁眉不展,原来是小女孩生病了,张进军想起以前有朋友 的孩子也是这样的病症,马上打电话过去,详细询问了药方、治疗方案等,再告诉这位妈妈,“这些遭遇都是你以前坐在办公室电脑前绝对想象不到的!”以前的旧 同事听说他们的创业故事后,特地跑到车站来吃酸辣粉,羡慕嫉妒恨地说“你们这跨度也忒大了点吧!” 人活着不能只为了薪水 目前,夫妻俩已经有了两辆爱心餐车,一辆餐车每月开支大约需要五六千元。“如果我不辞职,在外人看来,薪水、职位都很不错,我现在每月赚的还不 及以前的一个零头!”张进军说,一度也犹豫过,毕竟已经工作了13年,而只要满15年,就能达到领取养老保险的年限,“但人活着不能只为了薪水,要是人一 辈子只为了等到第15年,那接下来的2年就会过得十分难熬。再说人生谁能说得准呢?” 张进军说,幸亏辞职了,她只有一个感受,就是“值”!“最大的变化就是每天都能和老公在一起,以前我上我的班,他忙他的事,现在,什么事都能两 个人一起去做,我总觉得,人活一世,不要到以后才后悔。虽然我们不能保证会一直卖快餐卖下去,但至少到目前为止,这是我们非常喜欢做的事情,也是我们人生 转折的第一关,既然很有意思,那就去做呗!” 细心的卿有钱专为等车的老人家准备了方凳,还摆放了一个漂亮的书架,上面都是念初中的儿子“捐献”的书,路过的同学可以随手借阅,要是放学正好碰到餐车生意忙,好几个相熟的学生会主动帮忙。“自从我们决定换一种生活方式后,身边的世界也变得更美好了。” 重庆:新浪IT男辞职卖水果 忍不住技痒,还是会暴露程序猿的身份 网事回放 徐佳的微博短短几天内就猛增15000多名粉丝,网络上关于#IT男徐佳#的话题有70多万条微博,因为朋友转发了一张他的照片:手里捧着水果 篮,看起来青春焕发,神采奕奕;搞笑的是,还有另一张照片作对比:脸色暗淡,连头发都很稀疏。就是这样的眼球刺激,令徐佳火速走红——你看,人家不做IT 男,改卖水果后,连精气神都不一样了,IT真坑爹啊! 是个程序猿,都有些光辉事迹 “我要辞职的事是非常保密的”,徐佳告诉《IT时报》记者,事先他口风很紧,公司里基本上谁都没透露。今年3月他休假了一段时间,估计那时就有要好的同事隐隐猜测,但也只是在心里怀疑,直到他休完假回去,直接交辞职报告,顿时在公司里炸开了锅。 对此,徐佳在微博上给出的解释是,“程序员做了5年,由于头儿的栽培提拔,也由于几分运气,终于评上了相当于架构师的职级。看着职级上的 title,不禁热泪盈眶,这么多年的愿望终于实现了。奈何物随心转,境由心生,我却想追寻一下另外一个自己。现在我辞职了,在卖水果。” 告别5年北漂生涯,回到家乡重庆,徐佳开始了水果小老板的新创业历程。是个程序猿,都有些当年的英雄事迹,徐佳也不例外,在重庆念完大学后,他 跑去北京闯荡,先后在魔时网、新浪挥洒过青春,在攻坚SNS应用的基础模块时,6点起床赶到公司,做设计写编码,加班到晚上10点回去倒头就睡。 最新项目是卖雅安大樱桃 这样的经历是技术大佬们用来炫耀的资本,却也是生命中不能承受之轻。现在,徐佳挥一挥衣袖,不带走一片云彩。他要把往后的革命本钱都投在水果事 业上。他的最新项目是把四川雅安汉源县的樱桃卖到网友们手上,他也承诺,每卖出去一份,就给雅安地震灾区捐献一元钱。网友们都很给力,预购数量很快就超过 1000份。 到底是做IT出身,徐佳有时候还是忍不住技痒,会暴露出自己程序猿的身份。比如他发现了淘宝上一个bug,在新建商品类目选错的情况下,会强制 下架,这个问题有不少卖家抱怨,他发愁不知该@谁?当然,他也不只炫耀专业技术,一条关于怎样利用小工具吃水果的微博,图文并茂,被很多文艺青年收藏。从 程序猿转型为水果男,看似隔行如隔山,原来只要有钻研的劲头,内核是相通的。 转自:http://www.oschina.net/news/40449/programmer-turn-to-boss
View DetailsFlashPaper是一个虚拟打印机,可将word文件转化成swf格式文件(.doc .xls .txt .pdf等文件都可以正常生成SWF格式)。最近简单学习了在ASP.NET页面中调用FlashPaper将word文件转化成swf格式文件的方法。 (1)安装FlashPape:下载FlashPape压缩包,解压缩后,运行初始化目录中的初始化.bat,然后安装FlashPaperDriverInstall2.exe,即FlashPaper打印机。特别注意,在有的机器上要更改Macromedia FlashPape的端口,应为FlashPape2PrinterPort,如果是LPT1这个端口,当然打印不出来了。 (2)为页面中的按钮编写事件处理代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
Process process = new Process(); //创建进程对象 //try //{ ProcessStartInfo startInfo = new ProcessStartInfo(); string paperroot = @"C:\Program Files\Macromedia\FlashPaper 2\FlashPrinter.exe"; string docFile = Server.MapPath("1.doc"); string swfFile = Server.MapPath("1.swf"); startInfo.FileName = paperroot; startInfo.Arguments = docFile + " -o " + swfFile; startInfo.UseShellExecute = false; //不使用系统外壳程序启动 startInfo.RedirectStandardInput = false; //不重定向输入 startInfo.RedirectStandardOutput = false; //重定向输出 startInfo.CreateNoWindow = true; //不创建窗口 process.StartInfo = startInfo; process.Start(); Response.Write("已经提交生成。<br />"); Response.Write(paperroot+"<br />"+docFile + " = " + swfFile); //} //catch (Exception ex) //{ // Response.Write(ex.Message); //} //finally //{ if (process != null) process.Close(); // Response.Write("<br />finally"); //} |
示例代码3:
1 |
public static void TransformFile(string filepath) |
{ string fppath = System.Configuration.ConfigurationManager.AppSettings["Flashpaper"]; string outpath = filepath.Substring(0, filepath.LastIndexOf('.')) + ".swf"; string param = fppath + " " + filepath + " -o " + outpath; Process p = new Process(); p.StartInfo.FileName = "C:\\WINDOWS\\system32\\cmd.exe"; p.StartInfo.UseShellExecute = false; p.StartInfo.RedirectStandardInput = true; p.StartInfo.RedirectStandardOutput = true; p.StartInfo.RedirectStandardError = true; p.StartInfo.CreateNoWindow = true; //p.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden; try { p.Start(); string strOutput = null; p.StandardInput.WriteLine(param); p.StandardInput.WriteLine("exit"); strOutput = p.StandardOutput.ReadToEnd(); Console.WriteLine(strOutput); p.WaitForExit(); p.Close(); } catch (Exception ex) { throw ex; } }
View Details就象大家更熟悉的const一样,volatile是一个类型修饰符(type specifier)。它是被设计用来修饰被不同线程访问和修改的变量。如果没有volatile,基本上会导致这样的结果:要么无法编写多线程程序,要么编译器失去大量优化的机会。
View Details