<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Tower Jing::Thanksgiving &#187; 程序 技术 周边</title>
	<atom:link href="http://www.taoer.com/category/tech-notes/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.taoer.com</link>
	<description>How alone SOLO::随来而去</description>
	<lastBuildDate>Tue, 05 Apr 2011 15:05:18 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>javascript中Number的用法</title>
		<link>http://www.taoer.com/2010/08/11/javascript-code-number-object-useage/</link>
		<comments>http://www.taoer.com/2010/08/11/javascript-code-number-object-useage/#comments</comments>
		<pubDate>Wed, 11 Aug 2010 05:51:50 +0000</pubDate>
		<dc:creator>SuperTaoer</dc:creator>
				<category><![CDATA[工作分享]]></category>
		<category><![CDATA[程序 技术 周边]]></category>

		<guid isPermaLink="false">http://www.taoer.com/?p=600</guid>
		<description><![CDATA[javascript中，有Number这个对象，这个对象有两种用法： 一种是 var a = new Number(0),这种是返回一个Number的对象 第二种 var a= Number(0),这种是返回一个单纯的数字0 下面是在firefox下控制台输出的两种不... ]]></description>
			<content:encoded><![CDATA[<p>javascript中，有Number这个对象，这个对象有两种用法：<?xml:namespace prefix = o /></p>
<p>一种是 var a = new Number(0),这种是返回一个Number的对象</p>
<p>第二种 var a= Number(0),这种是返回一个单纯的数字0</p>
<p>下面是在firefox下控制台输出的两种不同的实例化方法。</p>
<p>>>> console.log(new Number(0));<br />
0 {}</p>
<p>>>> console.log(Number(0));<br />
0</p>
<p>这个知识点可以参考： http://www.w3school.com.cn/js/jsref_obj_number.asp  (JavaScript Number 对象参考手册)</p>
<p>但是需要注意的是：如果 new Number(“xxxx”)，传入一个字符串，将返回NaN，NaN的意义是“Not a Number”，代表不是一个数字，</p>
<p>判断的方法不能单纯的用 “xxxx”==NaN 来判断，因为NaN本身和NaN也不相等，</p>
<p>>>> NaN==NaN<br />
false</p>
<p>如何判断一个变量是否是NaN，需要用到isNaN(var)这个方法，例如：</p>
<p>>>> isNaN(Number(“xxx”))<br />
true</p>
<p>>>> isNaN(Number(“134&#8243;))<br />
false</p>
<p>>>> isNaN(Number(134))<br />
false</p>
<p>>>> isNaN(NaN)<br />
true</p>
]]></content:encoded>
			<wfw:commentRss>http://www.taoer.com/2010/08/11/javascript-code-number-object-useage/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>java BigDecimal.ROUND_UP和BigDecimal.ROUND_DOWN的用处</title>
		<link>http://www.taoer.com/2010/07/10/java-bigdecimal-round_up-round_down-useage/</link>
		<comments>http://www.taoer.com/2010/07/10/java-bigdecimal-round_up-round_down-useage/#comments</comments>
		<pubDate>Sat, 10 Jul 2010 09:57:35 +0000</pubDate>
		<dc:creator>SuperTaoer</dc:creator>
				<category><![CDATA[工作分享]]></category>
		<category><![CDATA[程序 技术 周边]]></category>

		<guid isPermaLink="false">http://www.taoer.com/?p=596</guid>
		<description><![CDATA[今天在工作中遇到了这样的一个需求， 一个小数，例如1.7777777，或者1.3333333，不管后面的位数是多少，只保留到小数点后第二位，但是不是四舍五入，1.7777777处理后就是1.77，1.3333333处理后就是... ]]></description>
			<content:encoded><![CDATA[<p>今天在工作中遇到了这样的一个需求，</p>
<p>一个小数，例如1.7777777，或者1.3333333，不管后面的位数是多少，只保留到小数点后第二位，但是不是四舍五入，1.7777777处理后就是1.77，1.3333333处理后就是1.33</p>
<p>这个就要用到BigDecimal#setScale的方法了。</p>
<p>具体看如下代码：</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p596code3'); return false;">View Code</a> JAVA</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p5963"><td class="line_numbers"><pre>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
</pre></td><td class="code" id="p596code3"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.math.BigDecimal</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.math.RoundingMode</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> ScaleTest <span style="color: #009900;">&#123;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">void</span> main<span style="color: #009900;">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Astring+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">String</span></a><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> args<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
		<span style="color: #000066; font-weight: bold;">double</span> a <span style="color: #339933;">=</span> 1.66728D<span style="color: #339933;">;</span>
		<span style="color: #000066; font-weight: bold;">double</span> b <span style="color: #339933;">=</span> 1.33333D<span style="color: #339933;">;</span>
		<span style="color: #000066; font-weight: bold;">double</span> c <span style="color: #339933;">=</span> 1.00000D<span style="color: #339933;">;</span>
&nbsp;
		<a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Abigdecimal+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">BigDecimal</span></a> aa <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Abigdecimal+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">BigDecimal</span></a><span style="color: #009900;">&#40;</span>a<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Abigdecimal+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">BigDecimal</span></a> bb <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Abigdecimal+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">BigDecimal</span></a><span style="color: #009900;">&#40;</span>b<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Abigdecimal+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">BigDecimal</span></a> cc <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Abigdecimal+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">BigDecimal</span></a><span style="color: #009900;">&#40;</span>c<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span>aa.<span style="color: #006633;">setScale</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">2</span>, <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Abigdecimal+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">BigDecimal</span></a>.<span style="color: #006633;">ROUND_UP</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span>aa.<span style="color: #006633;">setScale</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">2</span>, <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Abigdecimal+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">BigDecimal</span></a>.<span style="color: #006633;">ROUND_DOWN</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span>bb.<span style="color: #006633;">setScale</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">2</span>, <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Abigdecimal+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">BigDecimal</span></a>.<span style="color: #006633;">ROUND_UP</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span>bb.<span style="color: #006633;">setScale</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">2</span>, <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Abigdecimal+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">BigDecimal</span></a>.<span style="color: #006633;">ROUND_DOWN</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span>cc.<span style="color: #006633;">setScale</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">2</span>, <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Abigdecimal+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">BigDecimal</span></a>.<span style="color: #006633;">ROUND_UP</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span>cc.<span style="color: #006633;">setScale</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">2</span>, <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Abigdecimal+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">BigDecimal</span></a>.<span style="color: #006633;">ROUND_DOWN</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;-------------------------------------&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span>aa.<span style="color: #006633;">setScale</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">2</span>, RoundingMode.<span style="color: #006633;">UP</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span>aa.<span style="color: #006633;">setScale</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">2</span>, RoundingMode.<span style="color: #006633;">DOWN</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span>bb.<span style="color: #006633;">setScale</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">2</span>, RoundingMode.<span style="color: #006633;">UP</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span>bb.<span style="color: #006633;">setScale</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">2</span>, RoundingMode.<span style="color: #006633;">DOWN</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span>cc.<span style="color: #006633;">setScale</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">2</span>, RoundingMode.<span style="color: #006633;">UP</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span>cc.<span style="color: #006633;">setScale</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">2</span>, RoundingMode.<span style="color: #006633;">DOWN</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>输出结果如下：<br />
1.67<br />
1.66<br />
1.34<br />
1.33<br />
1.00<br />
1.00<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
1.67<br />
1.66<br />
1.34<br />
1.33<br />
1.00<br />
1.00</p>
<p>上面仅仅是根据我的需要举了BigDecimal.ROUND_UP和BigDecimal.ROUND_DOWN的例子，下面就用个表格来分析下。</p>
<p>	ROUND_UP	ROUND_DOWN<br />
1.66728D	     1.67	                  1.66<br />
1.33333D	     1.34	                  1.33<br />
1.00000D	     1.00	                  1.00</p>
<p>也就是说，ROUND_DOWN，是一个舍位取值的概念，我保留了两位小数，我不管你后面的小数值如何，也不会四舍五入，就硬生生的给阶段，相当于什么呢，就是我从小数点后面开始取两位，两位后面的都不要了，相当于一个截取字符串的操作。</p>
<p>而ROUND_UP那，很宽容，很大方，我不管你第三位的小数是多少，我都给你加一最小单位（比如保留两位小数，最小单位是0.01，保留三位小数，最小单位就是0.001），当然了，你保留到最后一位的数字如果是0的话，那么就不加了。</p>
<p>而这两个作用在咱们实际当中什么情况下不能使用四舍五入，需要用这两个呢？</p>
<p>用个应用题举例子吧，</p>
<p>一个篮子可以装10个苹果，现在有82个苹果，需要几个篮子来装？<br />
9个，对，这是咱们的什么结果，不正是ROUND_UP的么（只不过这道题是取小数点后0位，也就是取整的区别而已），也就很好解释为什么最小单位是0不需要再加一个最小单位了，如果我只有80个苹果，8个篮子正好装下，就不需要第九个了。</p>
<p>那么什么时候儿需要使用ROUND_DOWN呢，再来看下面一个例子，<br />
每个加油站相距8公里，一公里需要耗一个油，我现在车里还有90个油，请问，我最晚在第几个加油站必须得加油了？<br />
11个，第十一个，就是在车使用88个油到达第11个加油站后需要加油，因为我还剩2个由已经撑不到第12个加油站了。这种情况，ROUND_DOWN就派上用场了。</p>
<p>其实，BigDecimal不光有ROUND_UP，ROUND_DOWN，还有其他的很多值，比如：ROUND_CEILING、ROUND_HALF_DOWN等等，具体的效果可以自己实验下。</p>
<p>这里给出篇文章地址供参考：<br />
http://stephen830.javaeye.com/blog/260776 JAVA对double或者float的浮点数精度计算控制方法</p>
<p>原文如下：<br />
JAVA对double或者float的浮点数精度计算控制方法<br />
文章分类:Java编程关键字: java double或者float的浮点数精度<br />
★★★ 本篇为原创，需要引用转载的朋友请注明：《 http://stephen830.javaeye.com/blog/260776 》 谢谢支持！★★★本篇介绍了在JAVA中如何对double或者float的浮点数进行精度计算，在JAVA中提供了多种参数来实现精度的不同控制方式。具体例子如下：<br />
Java代码</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p596code4'); return false;">View Code</a> JAVA</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p5964"><td class="line_numbers"><pre>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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
</pre></td><td class="code" id="p596code4"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.math.BigDecimal</span><span style="color: #339933;">;</span>   
&nbsp;
<span style="color: #008000; font-style: italic; font-weight: bold;">/**  
 * 与小数位精度(四舍五入等)相关的一些常用工具方法.  
 *   
 * float/double的精度取值方式分为以下几种: &lt;br&gt;  
 * java.math.BigDecimal.ROUND_UP &lt;br&gt;  
 * java.math.BigDecimal.ROUND_DOWN &lt;br&gt;  
 * java.math.BigDecimal.ROUND_CEILING &lt;br&gt;  
 * java.math.BigDecimal.ROUND_FLOOR &lt;br&gt;  
 * java.math.BigDecimal.ROUND_HALF_UP&lt;br&gt;  
 * java.math.BigDecimal.ROUND_HALF_DOWN &lt;br&gt;  
 * java.math.BigDecimal.ROUND_HALF_EVEN &lt;br&gt;  
 *   
 * @author stephen  
 * @version 1.0.0  
 */</span>  
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">final</span> <span style="color: #000000; font-weight: bold;">class</span> RoundTool <span style="color: #009900;">&#123;</span>   
&nbsp;
    <span style="color: #008000; font-style: italic; font-weight: bold;">/**  
     * 对double数据进行取精度.  
     * &lt;p&gt;  
     * For example: &lt;br&gt;  
     * double value = 100.345678; &lt;br&gt;  
     * double ret = round(value,4,BigDecimal.ROUND_HALF_UP); &lt;br&gt;  
     * ret为100.3457 &lt;br&gt;  
     *   
     * @param value  
     *            double数据.  
     * @param scale  
     *            精度位数(保留的小数位数).  
     * @param roundingMode  
     *            精度取值方式.  
     * @return 精度计算后的数据.  
     */</span>  
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">double</span> round<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">double</span> value, <span style="color: #000066; font-weight: bold;">int</span> scale, <span style="color: #000066; font-weight: bold;">int</span> roundingMode<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>   
        <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Abigdecimal+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">BigDecimal</span></a> bd <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Abigdecimal+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">BigDecimal</span></a><span style="color: #009900;">&#40;</span>value<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>   
        bd <span style="color: #339933;">=</span> bd.<span style="color: #006633;">setScale</span><span style="color: #009900;">&#40;</span>scale, roundingMode<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>   
        <span style="color: #000066; font-weight: bold;">double</span> d <span style="color: #339933;">=</span> bd.<span style="color: #006633;">doubleValue</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>   
        bd <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #339933;">;</span>   
        <span style="color: #000000; font-weight: bold;">return</span> d<span style="color: #339933;">;</span>   
    <span style="color: #009900;">&#125;</span>   
&nbsp;
    <span style="color: #008000; font-style: italic; font-weight: bold;">/**  
     * 测试用的main方法.  
     *   
     * @param argc  
     *            运行参数.  
     */</span>  
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">void</span> main<span style="color: #009900;">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Astring+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">String</span></a><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> argc<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>   
        <span style="color: #666666; font-style: italic;">//下面都以保留2位小数为例   </span>
&nbsp;
        <span style="color: #666666; font-style: italic;">//ROUND_UP   </span>
        <span style="color: #666666; font-style: italic;">//只要第2位后面存在大于0的小数，则第2位就+1   </span>
        <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span>round<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">12.3401</span>,<span style="color: #cc66cc;">2</span>,<a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Abigdecimal+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">BigDecimal</span></a>.<span style="color: #006633;">ROUND_UP</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #666666; font-style: italic;">//12.35   </span>
        <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span>round<span style="color: #009900;">&#40;</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">12.3401</span>,<span style="color: #cc66cc;">2</span>,<a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Abigdecimal+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">BigDecimal</span></a>.<span style="color: #006633;">ROUND_UP</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #666666; font-style: italic;">//-12.35   </span>
        <span style="color: #666666; font-style: italic;">//ROUND_DOWN   </span>
        <span style="color: #666666; font-style: italic;">//与ROUND_UP相反   </span>
        <span style="color: #666666; font-style: italic;">//直接舍弃第2位后面的所有小数   </span>
        <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span>round<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">12.349</span>,<span style="color: #cc66cc;">2</span>,<a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Abigdecimal+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">BigDecimal</span></a>.<span style="color: #006633;">ROUND_DOWN</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #666666; font-style: italic;">//12.34   </span>
        <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span>round<span style="color: #009900;">&#40;</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">12.349</span>,<span style="color: #cc66cc;">2</span>,<a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Abigdecimal+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">BigDecimal</span></a>.<span style="color: #006633;">ROUND_DOWN</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #666666; font-style: italic;">//-12.34   </span>
        <span style="color: #666666; font-style: italic;">//ROUND_CEILING   </span>
        <span style="color: #666666; font-style: italic;">//如果数字&gt;0 则和ROUND_UP作用一样   </span>
        <span style="color: #666666; font-style: italic;">//如果数字&lt;0 则和ROUND_DOWN作用一样   </span>
        <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span>round<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">12.3401</span>,<span style="color: #cc66cc;">2</span>,<a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Abigdecimal+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">BigDecimal</span></a>.<span style="color: #006633;">ROUND_CEILING</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #666666; font-style: italic;">//12.35   </span>
        <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span>round<span style="color: #009900;">&#40;</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">12.349</span>,<span style="color: #cc66cc;">2</span>,<a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Abigdecimal+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">BigDecimal</span></a>.<span style="color: #006633;">ROUND_CEILING</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #666666; font-style: italic;">//-12.34   </span>
        <span style="color: #666666; font-style: italic;">//ROUND_FLOOR   </span>
        <span style="color: #666666; font-style: italic;">//如果数字&gt;0 则和ROUND_DOWN作用一样   </span>
        <span style="color: #666666; font-style: italic;">//如果数字&lt;0 则和ROUND_UP作用一样   </span>
        <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span>round<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">12.349</span>,<span style="color: #cc66cc;">2</span>,<a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Abigdecimal+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">BigDecimal</span></a>.<span style="color: #006633;">ROUND_FLOOR</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #666666; font-style: italic;">//12.34   </span>
        <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span>round<span style="color: #009900;">&#40;</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">12.3401</span>,<span style="color: #cc66cc;">2</span>,<a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Abigdecimal+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">BigDecimal</span></a>.<span style="color: #006633;">ROUND_FLOOR</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #666666; font-style: italic;">//-12.35   </span>
        <span style="color: #666666; font-style: italic;">//ROUND_HALF_UP [这种方法最常用]   </span>
        <span style="color: #666666; font-style: italic;">//如果第3位数字&gt;=5,则第2位数字+1   </span>
        <span style="color: #666666; font-style: italic;">//备注:只看第3位数字的值,不会考虑第3位之后的小数的   </span>
        <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span>round<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">12.345</span>,<span style="color: #cc66cc;">2</span>,<a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Abigdecimal+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">BigDecimal</span></a>.<span style="color: #006633;">ROUND_HALF_UP</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #666666; font-style: italic;">//12.35   </span>
        <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span>round<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">12.3449</span>,<span style="color: #cc66cc;">2</span>,<a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Abigdecimal+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">BigDecimal</span></a>.<span style="color: #006633;">ROUND_HALF_UP</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #666666; font-style: italic;">//12.34   </span>
        <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span>round<span style="color: #009900;">&#40;</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">12.345</span>,<span style="color: #cc66cc;">2</span>,<a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Abigdecimal+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">BigDecimal</span></a>.<span style="color: #006633;">ROUND_HALF_UP</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #666666; font-style: italic;">//-12.35   </span>
        <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span>round<span style="color: #009900;">&#40;</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">12.3449</span>,<span style="color: #cc66cc;">2</span>,<a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Abigdecimal+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">BigDecimal</span></a>.<span style="color: #006633;">ROUND_HALF_UP</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #666666; font-style: italic;">//-12.34   </span>
        <span style="color: #666666; font-style: italic;">//ROUND_HALF_DOWN   </span>
        <span style="color: #666666; font-style: italic;">//如果第3位数字&gt;=5,则做ROUND_UP   </span>
        <span style="color: #666666; font-style: italic;">//如果第3位数字&lt;5,则做ROUND_DOWN   </span>
        <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span>round<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">12.345</span>,<span style="color: #cc66cc;">2</span>,<a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Abigdecimal+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">BigDecimal</span></a>.<span style="color: #006633;">ROUND_HALF_DOWN</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #666666; font-style: italic;">//12.35   </span>
        <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span>round<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">12.3449</span>,<span style="color: #cc66cc;">2</span>,<a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Abigdecimal+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">BigDecimal</span></a>.<span style="color: #006633;">ROUND_HALF_DOWN</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #666666; font-style: italic;">//12.34   </span>
        <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span>round<span style="color: #009900;">&#40;</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">12.345</span>,<span style="color: #cc66cc;">2</span>,<a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Abigdecimal+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">BigDecimal</span></a>.<span style="color: #006633;">ROUND_HALF_DOWN</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #666666; font-style: italic;">//-12.35   </span>
        <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span>round<span style="color: #009900;">&#40;</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">12.3449</span>,<span style="color: #cc66cc;">2</span>,<a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Abigdecimal+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">BigDecimal</span></a>.<span style="color: #006633;">ROUND_HALF_DOWN</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #666666; font-style: italic;">//-12.34   </span>
        <span style="color: #666666; font-style: italic;">//ROUND_HALF_EVEN   </span>
        <span style="color: #666666; font-style: italic;">//如果第3位是偶数,则做ROUND_HALF_DOWN   </span>
        <span style="color: #666666; font-style: italic;">//如果第3位是奇数,则做ROUND_HALF_UP   </span>
        <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span>round<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">12.346</span>,<span style="color: #cc66cc;">2</span>,<a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Abigdecimal+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">BigDecimal</span></a>.<span style="color: #006633;">ROUND_HALF_EVEN</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #666666; font-style: italic;">//12.35   </span>
        <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span>round<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">12.345</span>,<span style="color: #cc66cc;">2</span>,<a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Abigdecimal+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">BigDecimal</span></a>.<span style="color: #006633;">ROUND_HALF_EVEN</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #666666; font-style: italic;">//12.35   </span>
    <span style="color: #009900;">&#125;</span>   
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>这篇文章算说的比较详细的了，供参考。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.taoer.com/2010/07/10/java-bigdecimal-round_up-round_down-useage/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>innerHTML 与 innerText的区别</title>
		<link>http://www.taoer.com/2010/06/24/innerhtml-innertext-difference-example/</link>
		<comments>http://www.taoer.com/2010/06/24/innerhtml-innertext-difference-example/#comments</comments>
		<pubDate>Thu, 24 Jun 2010 08:05:06 +0000</pubDate>
		<dc:creator>SuperTaoer</dc:creator>
				<category><![CDATA[程序 技术 周边]]></category>

		<guid isPermaLink="false">http://www.taoer.com/?p=591</guid>
		<description><![CDATA[首先， document.getElementById(&#8216;xxx&#8217;).innerHTML 适用于 IE和Firefox浏览器 document.getElementById(&#8216;xxx&#8217;).innerText 只适用于IE浏览器 其次： 对于同一个对象，二者返回的内容不一样： innerHTML 返... ]]></description>
			<content:encoded><![CDATA[<p>首先，</p>
<p>document.getElementById(&#8216;xxx&#8217;).innerHTML 适用于 IE和Firefox浏览器</p>
<p>document.getElementById(&#8216;xxx&#8217;).innerText 只适用于IE浏览器</p>
<p>其次：<br />
对于同一个对象，二者返回的内容不一样：<br />
innerHTML 返回的是这个对象内部所有的代码，包括html与非html代码<br />
而innerText只返回这个内部的非html代码。</p>
<p>看个例子：</p>
<p>源代码如下：</p>
<div id="a"><a href="#">链接文字</a></div>
<div>
<input type="button" id="bt1" value="点击查看innerHTML效果" onclick="javascript:alert(document.getElementById('a').innerHTML);" />
<input type="button" id="bt2" value="点击查看innerText效果" onclick="javascript:alert(document.getElementById('a').innerText);" />
</div>
<p>页面效果如下：<br />
<a href="http://www.taoer.com/wp-content/uploads/2010/06/Catch006-24-15-48-35.jpg"><img src="http://www.taoer.com/wp-content/uploads/2010/06/Catch006-24-15-48-35.jpg" alt="" title="Catch0(06-24-15-48-35)" width="440" height="89" class="alignnone size-full wp-image-592" /></a></p>
<p>点击innerHTML的效果：<br />
<a href="http://www.taoer.com/wp-content/uploads/2010/06/Catch106-24-15-48-35.jpg"><img src="http://www.taoer.com/wp-content/uploads/2010/06/Catch106-24-15-48-35.jpg" alt="" title="Catch1(06-24-15-48-35)" width="285" height="161" class="alignnone size-full wp-image-593" /></a></p>
<p>点击innerText的效果：</p>
<p><a href="http://www.taoer.com/wp-content/uploads/2010/06/Catch206-24-15-48-35.jpg"><img src="http://www.taoer.com/wp-content/uploads/2010/06/Catch206-24-15-48-35.jpg" alt="" title="Catch2(06-24-15-48-35)" width="258" height="152" class="alignnone size-full wp-image-594" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.taoer.com/2010/06/24/innerhtml-innertext-difference-example/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows系统创建软链接、硬链接的方法</title>
		<link>http://www.taoer.com/2010/06/11/windows-create-symbolic-link-method/</link>
		<comments>http://www.taoer.com/2010/06/11/windows-create-symbolic-link-method/#comments</comments>
		<pubDate>Fri, 11 Jun 2010 02:21:57 +0000</pubDate>
		<dc:creator>SuperTaoer</dc:creator>
				<category><![CDATA[程序 技术 周边]]></category>

		<guid isPermaLink="false">http://www.taoer.com/?p=588</guid>
		<description><![CDATA[Windows系统创建软链接、硬链接的方法 ============首先先白活一下儿有可能是众所周知的概念，各位可以忽略此段直接到下一个无敌的分割线============ 之前在使用linux系统时，经常会用到创建链接... ]]></description>
			<content:encoded><![CDATA[<p>Windows系统创建软链接、硬链接的方法</p>
<p>============首先先白活一下儿有可能是众所周知的概念，各位可以忽略此段直接到下一个无敌的分割线============<br />
之前在使用linux系统时，经常会用到创建链接的操作，所谓链接，就是创建一个符号，将这个符号指向一个文件或者目录，<br />
个人理解，也可以说是这个符号是指向文件或者目录的一个指针。</p>
<p>软链接也叫符号链接，关于这两种链接的区别，将在最后说明。</p>
<p>我在linux经常使用软链接，主要用途下面举个例子：</p>
<p>比如在编译apache之后，会产生如下目录，/usr/local/apache2.0/<br />
这时的启动apache的命令就是：<br />
/usr/local/apache2.0/bin/apachectl start</p>
<p>接下来，我要将apache2.0升级到apache2.2，<br />
那么我的启动apache2.2的命令就是：<br />
/usr/local/apache2.2/bin/apachectl start</p>
<p>现在，我要将系统中所有用到/usr/local/apache2.0/bin/apachectl start的地方（例如启动脚本，crontab等）<br />
都换成/usr/local/apache2.2/bin/apachectl start</p>
<p>很累，万一想从2.2版本，切换回2.0版本，还要再都改一遍。</p>
<p>我的方法是创建一个软链接，在最开始编译好apache2.0时，创建软链接命令如下：</p>
<p>ln -s /usr/local/apache2.0/ /usr/local/apache2</p>
<p>这样，apache2就是apache2.0的一个软链接了，<br />
现在，我的/usr/local/目录下除了apache2.0还有了apache2.2，<br />
那么我只要取消原来的apache2软链接：<br />
unlink /usr/local/apache2 【这里需要特别注意的是，apache2最后不要加”/”】<br />
再重新创建软链接：<br />
ln -s /usr/local/apache2.2/ /usr/local/apache2</p>
<p>这样，我其他地方启动apache的脚本统一写成：<br />
/usr/local/apache2/bin/apachectl start</p>
<p>通过切换软链接的方式，来启动不同版本的apache，方便又省事儿，而且，如果从2.0切换至2.2之后，发现有问题，还可以通过这种方式快速的切换回2.0版本。</p>
<p>好了，贫了这么半天，来说说windows下如何创建链接吧，<br />
今天发现电脑的E盘只剩下200多M了，一看自己的eclipse的workspace占用了6个多G，于是乎，有了转移workspace目录的想法，C盘还有10多个G，就放在C盘吧。</p>
<p>============windows自带的命令行下如何创建硬链接============</p>
<p>先来一句话说明windows创建硬链接的方法：<br />
命令行中执行：<br />
fsutil hardlink create <新文件名> <现有文件名><br />
例如：<br />
fsutil hardlink create e:\target.txt e:\source.txt</p>
<p>则在E盘根目录创建了名为”target.txt”的，指向E盘根目录的source.txt的硬链接，需要说明的是：<br />
硬链接文件有两个限制(Unix/Linux 和 Windows 也都如此)<br />
(1) 不允许给目录创建硬链接；<br />
(2) 只有在同一文件系统中的文件之间才能创建链接。</p>
<p>在windows下，创建硬链接还必须是在同一个卷(分区)下。</p>
<p>很显然，这个并不能符合我转移workspace的需求，于是乎～～～～～～<br />
为了转移workspace后，不影响现在eclipse的使用，决定采用软链接的方式。<br />
============windows如何创建软链接============</p>
<p>上网上搜索了资料，得知可以使用如下三种方法来实现，Junction，GNU utilities for Win32，Total Commander<br />
（这三个软件在下面的”本文软件网址”中，都附有链接，可以到其网站上去下载）</p>
<p>下面分别说说这三种的不同用法以及主要区别，</p>
<p>情景：workspace转移后在c:\workspace，要求访问e:\workspace等于访问c:\workspace，</p>
<p>首先，Junction，<br />
命令如下：<br />
junction -s e:\workspace c:\workspace<br />
加-s的意思是对子目录执行递归操作，<br />
命令行会显示：<br />
Created: e:\workspace<br />
Targetted at: c:\workspace<br />
好了，现在华丽的访问e:\workspace吧，已经跟c:\workspace一模一样了，<br />
而且，我向e:\workspace加入了200M的文件，并没有占用E盘的空间，而是占用C盘的空间。</p>
<p>好，现在来删除e:\workspace软链接，使用如下命令：<br />
junction -d e:\workspace<br />
命令行会显示：Deleted e:\workspace.<br />
这时的e:\workspace已经没有了，c:\workspace还完好无缺。</p>
<p>满足要求！</p>
<p>【网上有人提到过：<br />
需要注意的是，Explorer 对待 symbolic link 有一个很奇怪的行为。<br />
那就是，在 Explorer 里一个 symbolic link 跟被它 link 的目录没有区别，<br />
删除这个 symbolic link 将会删除被 link 的目录下的所有文件！<br />
】</p>
<p>但是我在vista系统下测试，删除了e:\workspace，c:\workspace仍然好好的存在。</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p>再来看看GNU utilities for Win32<br />
先下载，下载后，是个zip压缩包，解压缩后，会看到如下的一个目录结构：<br />
UnxUtils\usr\local\wbin<br />
这里面的N多命令，其中的ln.exe就是咱们要使用的来，<br />
【PS：UnxUtils\bin这个目录下有个sh.exe，我一运行就报错，不用去管它，感觉这个就是个加载器，运行后会加载到它的shell环境中，<br />
我把UnxUtils\usr\local\wbin设置在了系统的环境变量中，也可以和方便的在cmd中直接使用每个命令。】</p>
<p>像在linux下一样，在cmd中执行<br />
ln -s c:\workspace e:\workspace<br />
命令行提示：<br />
ln: symbolic links are not supported on this system</p>
<p>阿门，不支持，放弃～～～正如网上所说，这个工具包的ln只能创建硬链接。<br />
虽然ln不支持，但是这个软件包的其他命令还是很不错滴，例如grep，可以很方便的搜索windows文件了，要比windows的垃圾搜索好很多。</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p>来看看Total Commander吧，<br />
下载下来是个安装包，最新的版本已经内置了中文，安装时可以选择中文，并且可以不安装其他的语言，以节省空间。</p>
<p>下载，安装，并没有发现可以做软链接的功能，忽略。<br />
但是这个作为资源管理器的替代者倒是很强大，又发现了个很好滴工具。</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p>总结：在windows下创建软链接，使用junction。</p>
<p>============本文软件网址============</p>
<p>http://technet.microsoft.com/zh-cn/sysinternals/bb896768.aspx</p>
<p>Windows Sysinternals > 下载 > File and Disk Utilities >  Junction v1.04</p>
<p>http://unxutils.sourceforge.net/</p>
<p>GNU utilities for Win32</p>
<p>http://www.ghisler.com/</p>
<p>Total Commander</p>
<p>============本文windows命令部分参考============</p>
<p>http://www.buaaer.com/bbs/viewthread.php?tid=3183</p>
<p>硬链结和符号链接的区别</p>
<p>http://answers.google.com/answers/threadview?id=341355</p>
<p>Q: how to create a symbolic link under Win2K, WinXP, and above?</p>
<p>http://rainux.org/ntfs-hard-linksymbolic-link</p>
<p>NTFS 下的硬链接(hard link)与符号链接(symbolic link)</p>
<p>============附：硬链结和符号链接的区别============</p>
<p>硬连接记录的是目标的 inode,符号连接记录的是目标的 path。<br />
软连接就像是快捷方式,而硬连接就像是备份!符号连接可以做跨分区的 link；而 硬连接由于 inode 的缘故，只能在本分区中做 link.所以,符号连接的使用频率要高的多。</p>
<p>存在两种不同类型的链接，软链接和硬链接。修改其中一个，硬连接指向的是节点(inode),而软连接指向的是路径(path) </p>
<p>软链接文件 </p>
<p>　　软链接又叫符号链接，这个文件包含了另一个文件的路径名。可以是任意文件或目录，可以链接不同文件系统的文件。和win下的快捷方式差不多。链接文件甚至可以链接不存在的文件，这就产生一般称之为”断链”的问题(或曰“现象”)，链接文件甚至可以循环链接自己。类似于编程语言中的递归。 </p>
<p>命令格式：<br />
代码:<br />
ln [-s] source_path target_path </p>
<p>硬链接文件 </p>
<p>　　info ln 命令告诉您，硬链接是已存在文件的另一个名字，硬连接的命令是 </p>
<p>代码:<br />
ln -d existfile newfile </p>
<p>引用:<br />
硬链接文件有两个限制 </p>
<p>　　1、不允许给目录创建硬链接；<br />
　　2、只有在同一文件系统中的文件之间才能创建链接。 </p>
<p>　　对硬链接文件进行读写和删除操作时候，结果和软链接相同。但如果我们删除硬链接文件的源文件，硬链接文件仍然存在，而且保留了愿有的内容。这时，系统就“忘记”了它曾经是硬链接文件。而把他当成一个普通文件。修改其中一个，与其连接的文件同时被修改 </p>
<p>代码:<br />
$umask 022<br />
$ cp /etc/httpd/conf/httpd.conf /usr/sam </p>
<p>原来前面做的试验，改变了系统默认的umask值，现在改回来为022,<br />
举个httpd.conf文件做例 子 </p>
<p>代码:<br />
$ ln httpd.conf httpd1.conf<br />
$ ln -s httpd.conf httpd2.conf </p>
<p>第一条为硬链接，第二条为软链接 </p>
<p>代码:<br />
$ ls -li </p>
<p>代码:<br />
总用量 80<br />
1077669   -rw-r&#8211;r&#8211;    2 sam      adm         34890 10月 31 00:57 httpd1.conf<br />
1077668  lrwxrwxrwx    1 sam      adm            10 10月 31 00:58 httpd2.conf ->; httpd.conf<br />
1077669  -rw-r&#8211;r&#8211;    2 sam      adm         34890 10月 31 00:57 httpd.conf </p>
<p>可以看到，使用ls -li，软连接只产生了10字节的快捷而已，硬连接却实实在在的的拷贝。最前面的inode硬链接和源文件是一样的，而软链接不一样，具体看一下回复 </p>
<p>对http1.conf进行编辑，可以发现httpd.conf也发生了一样的变化 </p>
<p>代码:<br />
$ rm httpd.conf </p>
<p>现在删除链接的源文件，来比较不同之处 </p>
<p>代码:<br />
$ ls -l<br />
总用量 44<br />
drw-r&#8211;r&#8211;    2 sam      adm          4096 10月 30 20:14 file6<br />
-rw-r&#8211;r&#8211;    1 sam      adm         34890 10月 31 00:57 httpd1.conf<br />
lrwxrwxrwx    1 sam      adm            10 10月 31 00:58 httpd2.conf ->; httpd.conf </p>
<p>我的结论就是:硬链结只有全部被删除的时候，文件才无法访问，但是软链接，只要他的源文件消失了，这个文件就无法访问了。软链接就是记录了文件路径的一种特殊文件。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.taoer.com/2010/06/11/windows-create-symbolic-link-method/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>eclipse使用debugrun和jboss来调试断点</title>
		<link>http://www.taoer.com/2010/02/01/use-eclipse-debugrun-breakpoint-program/</link>
		<comments>http://www.taoer.com/2010/02/01/use-eclipse-debugrun-breakpoint-program/#comments</comments>
		<pubDate>Mon, 01 Feb 2010 12:50:35 +0000</pubDate>
		<dc:creator>SuperTaoer</dc:creator>
				<category><![CDATA[工作分享]]></category>
		<category><![CDATA[程序 技术 周边]]></category>

		<guid isPermaLink="false">http://www.taoer.com/?p=576</guid>
		<description><![CDATA[debugrun.zip是debugrun运行的批处理文件 1.将debugrun.bat复制到如下目录： X:\&#8230;\BuildPro\jboss-4.0.3SP1\bin 其中，前面的“X:\&#8230;”为每个人的实际物理目录 2.打开debugrun.bat，找到如下内容并进行编辑 ... ]]></description>
			<content:encoded><![CDATA[<p><a href='http://www.taoer.com/wp-content/uploads/2010/02/debugrun.zip'>debugrun.zip</a>是debugrun运行的批处理文件</p>
<p>1.将debugrun.bat复制到如下目录： </p>
<p>X:\&#8230;\BuildPro\jboss-4.0.3SP1\bin </p>
<p>其中，前面的“X:\&#8230;”为每个人的实际物理目录 </p>
<p>2.打开debugrun.bat，找到如下内容并进行编辑 </p>
<p>set DEBUG_OPTS=-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=9595,server=y,suspend=n </p>
<p>其中，address=9595是端口号，待会儿需要在eclipse中填入的，这个可以改成你想要的，也可以不进行修改 </p>
<p>3.双击debugrun.bat启动。 </p>
<p>4.选择你的项目，点击工具栏中的debug按钮下的”Open Debug Diaglog&#8230;”</p>
<p><img src="http://www.taoer.com/wp-content/uploads/2010/02/step4.png" alt="" title="step4" width="434" height="468" class="alignnone size-full wp-image-577" /></p>
<p>5.在弹出的窗口中，从左侧选择”Remote Java Application”，右键点击，选择”New”，会出现如下图： </p>
<p><img src="http://www.taoer.com/wp-content/uploads/2010/02/step5.png" alt="" title="step5" width="555" height="442" class="alignnone size-full wp-image-578" /></p>
<p>如图，把端口号修改成debugrun中实际设置的端口号9595，然后点击”Apply”应用改变，然后点击”Debug”运行。</p>
<p>6.然后在eclipse中会出现如下视图，<br />
<img src="http://www.taoer.com/wp-content/uploads/2010/02/step6.png" alt="" title="step6" width="555" height="98" class="alignnone size-full wp-image-579" /></p>
<p>这里就是待会儿要用到的debug试图了。</p>
<p>7.打开你的eclipse，首先选择一个程序来设置断点，例如：<br />
<img src="http://www.taoer.com/wp-content/uploads/2010/02/step7.png" alt="" title="step7" width="452" height="256" class="alignnone size-full wp-image-581" /> </p>
<p>8.好了，然后运行你的程序到你设置的断点，运行后再切换到eclipse，来看看debug视图</p>
<p>这个是debug窗口的左侧视图<br />
<img src="http://www.taoer.com/wp-content/uploads/2010/02/step8-1.png" alt="" title="step8-1" width="555" height="256" class="alignnone size-full wp-image-582" /> </p>
<p>这个是debug窗口的右侧视图<br />
<img src="http://www.taoer.com/wp-content/uploads/2010/02/step8-2.png" alt="" title="step8-1" width="555" height="256" class="alignnone size-full wp-image-582" /> </p>
<p>这个断点结束后，可以点击左侧视图的”Resume”来继续下面程序的执行<br />
<img src="http://www.taoer.com/wp-content/uploads/2010/02/step9.png" alt="" title="step9" width="555" height="163" class="alignnone size-full wp-image-584" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.taoer.com/2010/02/01/use-eclipse-debugrun-breakpoint-program/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>java的传值与传引用</title>
		<link>http://www.taoer.com/2010/01/01/java-reference-point-value-notes/</link>
		<comments>http://www.taoer.com/2010/01/01/java-reference-point-value-notes/#comments</comments>
		<pubDate>Fri, 01 Jan 2010 04:47:26 +0000</pubDate>
		<dc:creator>SuperTaoer</dc:creator>
				<category><![CDATA[工作分享]]></category>
		<category><![CDATA[程序 技术 周边]]></category>

		<guid isPermaLink="false">http://www.taoer.com/?p=568</guid>
		<description><![CDATA[java的传值与传引用 java中，基本数据类型都是传值，比如int，double，lang， java中，对象都是传引用， 特例，String对象是传值操作 =赋值操作是传引用操作 克隆分为影子克隆和深克隆 下面以图片... ]]></description>
			<content:encoded><![CDATA[<p>java的传值与传引用</p>
<p>java中，基本数据类型都是传值，比如int，double，lang，<br />
java中，对象都是传引用，<br />
特例，String对象是传值操作<br />
=赋值操作是传引用操作<br />
克隆分为影子克隆和深克隆</p>
<p>下面以图片来说明各个不同的操作：<br />
<a href="http://www.taoer.com/wp-content/uploads/2010/01/new.jpg"><img src="http://www.taoer.com/wp-content/uploads/2010/01/new.jpg" alt="" title="new" width="400" height="298" class="alignnone size-full wp-image-569" /></a></p>
<p>new出一个新的对象a1，在内存中开辟出一块新的区域给a1使用。</p>
<p><a href="http://www.taoer.com/wp-content/uploads/2010/01/assignment.jpg"><img src="http://www.taoer.com/wp-content/uploads/2010/01/assignment.jpg" alt="" title="assignment" width="521" height="298" class="alignnone size-full wp-image-570" /></a></p>
<p>new出一个新的对象a1，在内存中开辟出一块新的区域给a1使用。同时，将a1赋值给a2，这时，也会分配内存给a2，但是a2存放的不是与a1一样的对象，而是指向a1的指针，或者说a2是a1的引用。<br />
<a href="http://www.taoer.com/wp-content/uploads/2010/01/singleClone.jpg"><img src="http://www.taoer.com/wp-content/uploads/2010/01/singleClone.jpg" alt="" title="singleClone" width="380" height="285" class="alignnone size-full wp-image-571" /></a><br />
一个很直接的克隆例子，先new一个a1出来，然后使用a1克隆的方法给a2赋值，这是内存会分配两个区域给a1和a2分别使用，二者互不相干。</p>
<p>下面来说说影子克隆与深度克隆<br />
所以影子克隆与深度克隆一个主要的区别就在于，如果一个对象A里的成员变量B是另外一个对象，影子克隆只是克隆出一份A，但是克隆出来的A里面的B还是一个指向原来A中的一个指针，而深度克隆就是出来的A中的B也是一个新的B，与原来A中的B互不相干，说的有些绕口，下面来看图。</p>
<p>先假定咱们有如下的class：<br />
class B {&#8230;&#8230;}<br />
class A { B b;}<br />
A中的一个成员变量b是B对象。</p>
<p><a href="http://www.taoer.com/wp-content/uploads/2010/01/shadowClone.jpg"><img src="http://www.taoer.com/wp-content/uploads/2010/01/shadowClone.jpg" alt="" title="shadowClone" width="487" height="275" class="alignnone size-full wp-image-572" /></a><br />
这张图说明的是影子克隆，影子克隆的结果就是a1与a2分配出了一块内存区域，b1分配出了一块内存区域，b2也是占用了内存区域，但是它是指向b1的一个指针，对b2进行改变会影响到b1跟着改变。 </p>
<p><a href="http://www.taoer.com/wp-content/uploads/2010/01/allClone.jpg"><img src="http://www.taoer.com/wp-content/uploads/2010/01/allClone.jpg" alt="" title="allClone" width="370" height="275" class="alignnone size-full wp-image-573" /></a><br />
恩，这张图说明的就是深度克隆了，给b2分配了内存，但是这时不是指向b1的一个指针了，而是实实在在的B b2对象，对b2的改变与b1没有关系。</p>
<p>java的深度克隆与影子克隆的实现方法，可以参考下面的资料。</p>
<p>参考资料：<br />
Java基本功——Reference</p>
<p>http://dreamhead.blogbus.com/logs/2005/05/1189478.html</p>
<p>JAVA中的指针,引用及对象的clone</p>
<p>http://www.ibm.com/developerworks/cn/java/l-jpointer/index.html</p>
]]></content:encoded>
			<wfw:commentRss>http://www.taoer.com/2010/01/01/java-reference-point-value-notes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Java中的ListIterator与Iterator的区别</title>
		<link>http://www.taoer.com/2009/12/29/java-listiterator-iterator-difference-usage/</link>
		<comments>http://www.taoer.com/2009/12/29/java-listiterator-iterator-difference-usage/#comments</comments>
		<pubDate>Tue, 29 Dec 2009 02:21:55 +0000</pubDate>
		<dc:creator>SuperTaoer</dc:creator>
				<category><![CDATA[工作分享]]></category>
		<category><![CDATA[程序 技术 周边]]></category>

		<guid isPermaLink="false">http://www.taoer.com/?p=566</guid>
		<description><![CDATA[Java中的ListIterator与Iterator的区别 最近在使用Iterator迭代器遍历一个List，如果List里的元素满足一些条件，就要把这个List的这个元素给remove，或者给重新设置一个新值，remove很容易，在当前迭代... ]]></description>
			<content:encoded><![CDATA[<p>Java中的ListIterator与Iterator的区别</p>
<p>最近在使用Iterator迭代器遍历一个List，如果List里的元素满足一些条件，就要把这个List的这个元素给remove，或者给重新设置一个新值，remove很容易，在当前迭代的对象中直接调用remove方法即可。<br />
但是要想改变元素的值，那就不可以了。</p>
<p>从网上搜资料，找到了ListIterator，先来简明扼要的说说二者最大的区别吧，<br />
ListIterator迭代器可以增加元素，更新元素，并且可以从后往前的来对List进行迭代等等。</p>
<p>a.ListIterator有add()方法，可以向List中添加对象，而Iterator不能；<br />
b.ListIterator和Iterator都有hasNext()和next()方法，可以实现顺序向后遍历，但是ListIterator有hasPrevious()和previous()方法，可以实现逆向（顺序向前）遍历。Iterator就不可以；<br />
c.ListIterator可以定位当前的索引位置，nextIndex()和previousIndex()可以实现。Iterator没有此功能；<br />
d.都可实现删除对象，但是ListIterator可以实现对象的修改，set()方法可以实现。Iierator仅能遍历，不能修改。 </p>
<p>因为ListIterator的这些功能，可以实现对LinkedList等List数据结构的操作。其实，数组对象也可以用迭代器来实现。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.taoer.com/2009/12/29/java-listiterator-iterator-difference-usage/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>java的Calendar对象需要注意的问题</title>
		<link>http://www.taoer.com/2009/12/09/java-calendar-issues-needing-attention/</link>
		<comments>http://www.taoer.com/2009/12/09/java-calendar-issues-needing-attention/#comments</comments>
		<pubDate>Wed, 09 Dec 2009 03:52:50 +0000</pubDate>
		<dc:creator>SuperTaoer</dc:creator>
				<category><![CDATA[工作分享]]></category>
		<category><![CDATA[程序 技术 周边]]></category>

		<guid isPermaLink="false">http://www.taoer.com/?p=559</guid>
		<description><![CDATA[java的Calendar对象需要注意的问题： 1.每周是从周日开始算的 周日算每周的第一天，周六算每周的最后一天。 十二月： 日 一 二 三 四 五 六 13 14 15 16 17 18 19 20 21 &#8230; 这个引发出的问题，如果... ]]></description>
			<content:encoded><![CDATA[<p>java的Calendar对象需要注意的问题：</p>
<p>1.每周是从周日开始算的<br />
周日算每周的第一天，周六算每周的最后一天。</p>
<p>十二月：<br />
日 一 二 三 四 五 六<br />
13 14 15 16 17 18 19<br />
20 21 &#8230; </p>
<p>这个引发出的问题，如果计算12月17日这一周的周六周日的日期，咱们期望得到的是：<br />
周六：12月19日，周日：12月20日，<br />
但是实际呢？<br />
周六：12月19日，周日：12月13日</p>
<p>为什么呢？因为周日是这周的第一天，所以就这样了，在咱们得到这个值后，还需要进行处理，才能按照咱们的习惯使用。</p>
<p>2.接着第一个问题，那咱们能不能把每周的周一定为每周的第一天呢？<br />
Calendar有这样一个方法，setFirstDayOfWeek()<br />
我曾经这样使用：<br />
Calendar c = Calendar.getIntance();<br />
c.setFirstDayOfWeek(Calendar.MONDAY);<br />
从表面很好理解，设定c对象的每周的第一天是周一，其实不然！<br />
Calendar.MONDAY这个常量值就是2，不可改变。</p>
<p>3.每年中的月份不是1-12月，是0-11月。</p>
<p>4.从Date转换到Calendar用如下方法：<br />
Date d = new Date();<br />
Calendar c = Calendar.getIntance();<br />
c.setTime(d);</p>
<p>5.从Calendar转换到Date用如下方法：<br />
Calendar c = Calendar.getIntance();<br />
c.getTime();</p>
]]></content:encoded>
			<wfw:commentRss>http://www.taoer.com/2009/12/09/java-calendar-issues-needing-attention/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>db2中sql语句的另外一种update语句写法</title>
		<link>http://www.taoer.com/2009/12/07/db2-sql-update-another-implements/</link>
		<comments>http://www.taoer.com/2009/12/07/db2-sql-update-another-implements/#comments</comments>
		<pubDate>Mon, 07 Dec 2009 07:50:30 +0000</pubDate>
		<dc:creator>SuperTaoer</dc:creator>
				<category><![CDATA[工作分享]]></category>
		<category><![CDATA[程序 技术 周边]]></category>

		<guid isPermaLink="false">http://www.taoer.com/?p=554</guid>
		<description><![CDATA[一般的咱们常用的update语句结构如下： ?View Code SQL1 UPDATE TB SET FIELDNAME='FIELDNEWVALUE' WHERE xxx; 但是今天碰到了需要更新多个字段的情况，比如需要更新10个字段，前5个字段的值来自表A，中间三个... ]]></description>
			<content:encoded><![CDATA[<p>一般的咱们常用的update语句结构如下：</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p554code7'); return false;">View Code</a> SQL</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p5547"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p554code7"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">UPDATE</span> TB <span style="color: #993333; font-weight: bold;">SET</span> FIELDNAME<span style="color: #66cc66;">=</span><span style="color: #ff0000;">'FIELDNEWVALUE'</span> <span style="color: #993333; font-weight: bold;">WHERE</span> xxx;</pre></td></tr></table></div>

<p>但是今天碰到了需要更新多个字段的情况，比如需要更新10个字段，前5个字段的值来自表A，中间三个字段值来自表B，最后两个字段值来自表C，<br />
如果要是一个一个字段的写 f=&#8217;xxx&#8217;这样太麻烦了，于是乎上网搜索，发现了另外一种写法。</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p554code8'); return false;">View Code</a> SQL</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p5548"><td class="line_numbers"><pre>1
2
3
4
5
6
7
</pre></td><td class="code" id="p554code8"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">UPDATE</span> TB <span style="color: #993333; font-weight: bold;">SET</span> <span style="color: #66cc66;">&#40;</span>field1<span style="color: #66cc66;">,</span> field2<span style="color: #66cc66;">,</span> field3<span style="color: #66cc66;">,</span> field4<span style="color: #66cc66;">......</span><span style="color: #66cc66;">&#41;</span>
 <span style="color: #66cc66;">=</span> 
<span style="color: #66cc66;">&#40;</span><span style="color: #993333; font-weight: bold;">SELECT</span> field1<span style="color: #66cc66;">,</span> field2<span style="color: #66cc66;">,</span> field3<span style="color: #66cc66;">,</span> field4
 <span style="color: #993333; font-weight: bold;">FROM</span> A
 <span style="color: #993333; font-weight: bold;">JOIN</span> B <span style="color: #993333; font-weight: bold;">ON</span> xxx
 <span style="color: #993333; font-weight: bold;">LEFT</span> <span style="color: #993333; font-weight: bold;">JOIN</span> C <span style="color: #993333; font-weight: bold;">ON</span> xxx
 <span style="color: #993333; font-weight: bold;">WHERE</span> TB<span style="color: #66cc66;">.</span>ID<span style="color: #66cc66;">=</span>A<span style="color: #66cc66;">.</span>ID <span style="color: #66cc66;">&#91;</span><span style="color: #993333; font-weight: bold;">AND</span> xxxx<span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#41;</span>;</pre></td></tr></table></div>

<p>这个sql语句的意思就有些类似insert 常用的方法了，即首先在SET关键字后面写好待更新的字段列表，然后写“=”，在“=”后可以写一个联合查询，把需要的字段按照前面的顺序进行排列，再再WHERE子句中按照一定的条件进行关联，这样，update就可以了。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.taoer.com/2009/12/07/db2-sql-update-another-implements/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DB2 sql除法运算结果为小数时显示0的解决方法。</title>
		<link>http://www.taoer.com/2009/10/14/db2-sql-division-cast-round-coalesce/</link>
		<comments>http://www.taoer.com/2009/10/14/db2-sql-division-cast-round-coalesce/#comments</comments>
		<pubDate>Wed, 14 Oct 2009 08:35:28 +0000</pubDate>
		<dc:creator>SuperTaoer</dc:creator>
				<category><![CDATA[工作分享]]></category>
		<category><![CDATA[程序 技术 周边]]></category>

		<guid isPermaLink="false">http://www.taoer.com/?p=546</guid>
		<description><![CDATA[今天在DB2下写sql的时候遇到了这样的一个问题， 【分享点1：】 SELECT field1/field2 FROM TB; 当 field1的数值 > field2的数值时，除法得出的结果... ]]></description>
			<content:encoded><![CDATA[<p>今天在DB2下写sql的时候遇到了这样的一个问题，</p>
<p>【分享点1：】<br />
SELECT field1/field2 FROM TB;<br />
当 field1的数值 > field2的数值时，除法得出的结果是<1的，即0.xxxxxx<br />
这个时候在DB2的环境下SELECT出来的值是0<br />
这个有两个解决方法</p>
<p>方法1：<br />
DB CFG的一个参数MIN_DEC_DIV_3，这个参数在GET DB CFG FOR DB中并不会列出，但却可以修改。<br />
数据库配置参数MIN_DEC_DIV_3会更改涉及小数的十进制算术运算的结果小数位。<br />
默认值为No，则小数位计算为 31-p+s-s'。<br />
如果设置为Yes，则小数位计算为 MAX(3, 31-p+s-s')。<br />
这会导致十进制小数部分始终至少具有3位的小数位。精度始终为31。</p>
<p>这个方法貌似需要通过DBA对数据库进行设置，不太靠谱儿，有另外一种方法可以曲线救国，登场：</p>
<p>将sql语句修改为：</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p546code12'); return false;">View Code</a> SQL</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p54612"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p546code12"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">SELECT</span> CAST<span style="color: #66cc66;">&#40;</span>field1 <span style="color: #993333; font-weight: bold;">AS</span> DOUBLE<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">/</span>field2 <span style="color: #993333; font-weight: bold;">FROM</span> TB;</pre></td></tr></table></div>

<p>就是先把field1转换成DOUBLE类型的，这样计算出来的就会得出小数点了，会显示出0.xxxxxx</p>
<p>【分享点2：】<br />
额，接下来，需要对得出的小数点位数进行约束，那就用四舍五入吧，</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p546code13'); return false;">View Code</a> SQL</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p54613"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p546code13"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">SELECT</span> ROUND<span style="color: #66cc66;">&#40;</span>CAST<span style="color: #66cc66;">&#40;</span>field1 <span style="color: #993333; font-weight: bold;">AS</span> DOUBLE<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">/</span>field2<span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">FROM</span> TB;</pre></td></tr></table></div>

<p>这个意思就是说四舍五入，保留两位小数点</p>
<p>【分享点三：】<br />
但是如果field1或者field2有一个字段为NULL的话，那么结果为NULL，这个时候根据逻辑需要进行如下的一个操作，<br />
如果数据列的值为NULL，将其设置为0，那么sql就要这么写</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p546code14'); return false;">View Code</a> SQL</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p54614"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p546code14"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">SELECT</span> ROUND<span style="color: #66cc66;">&#40;</span>COALESCE<span style="color: #66cc66;">&#40;</span>CAST<span style="color: #66cc66;">&#40;</span>field1 <span style="color: #993333; font-weight: bold;">AS</span> DOUBLE<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">/</span>field2<span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">FROM</span> TB;</pre></td></tr></table></div>

<p>COALESCE这个函数系统的用法如下:<br />
a. 输入参数为字符类型，且允许为空的，可以使用COALESCE(inputParameter,”)把NULL转换成”;<br />
b. 输入类型为整型，且允许为空的，可以使用COALESCE(inputParameter,0)，把空转换成0；<br />
c. 输入参数为字符类型，且是非空非空格的，可以使用COALESCE(inputParameter,”)把NULL转换成”，然后判断函数返回值是否为”；<br />
d. 输入类型为整型，且是非空的，不需要使用COALESCE函数，直接使用IS NULL进行非空判断。</p>
<p>好，就这么多了，OVER。。。</p>
<p>参考：<br />
DECIMAL数据类型相除后的精度和小数位和数据库配置参数</p>
<p>http://www-01.ibm.com/support/docview.wss?uid=csc1a671ee5bc525954a4825711c002d4edb</p>
<p>min_dec_div_3 － 十进制分隔小数位为 3 配置参数</p>
<p>http://publib.boulder.ibm.com/infocenter/db2luw/v8/index.jsp?topic=/com.ibm.db2.udb.doc/admin/r0004470.htm</p>
]]></content:encoded>
			<wfw:commentRss>http://www.taoer.com/2009/10/14/db2-sql-division-cast-round-coalesce/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic page generated in 2.854 seconds. -->
<!-- Cached page generated by WP-Super-Cache on 2012-01-25 05:17:58 -->

