??xml version="1.0" encoding="utf-8" standalone="yes"?>极品粉嫩饱满一线天在线,91在线成人,97影院在线观看http://www.aygfsteel.com/migrant/category/39444.html我们的失落…?/description>zh-cnWed, 30 Jun 2010 06:57:51 GMTWed, 30 Jun 2010 06:57:51 GMT60[转]java内部c?/title><link>http://www.aygfsteel.com/migrant/archive/2010/06/30/324878.html</link><dc:creator>J2EE学习W记</dc:creator><author>J2EE学习W记</author><pubDate>Wed, 30 Jun 2010 06:26:00 GMT</pubDate><guid>http://www.aygfsteel.com/migrant/archive/2010/06/30/324878.html</guid><wfw:comment>http://www.aygfsteel.com/migrant/comments/324878.html</wfw:comment><comments>http://www.aygfsteel.com/migrant/archive/2010/06/30/324878.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/migrant/comments/commentRss/324878.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/migrant/services/trackbacks/324878.html</trackback:ping><description><![CDATA[     摘要: 提vJava内部c(Inner ClassQ可能很多h不太熟悉Q实际上cM的概念在C++里也有,那就是嵌套类QNested ClassQ,关于q两者的区别与联p,在下文中会有Ҏ。内部类从表面上看,是在类中又定义了一个类Q下文会看到Q内部类可以在很多地方定义)Q而实际上q没有那么简单,乍看上去内部cM乎有些多余,它的用处对于初学者来说可能ƈ不是那么显著Q但是随着对它的深入了解,你会发现Java?..  <a href='http://www.aygfsteel.com/migrant/archive/2010/06/30/324878.html'>阅读全文</a><img src ="http://www.aygfsteel.com/migrant/aggbug/324878.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/migrant/" target="_blank">J2EE学习W记</a> 2010-06-30 14:26 <a href="http://www.aygfsteel.com/migrant/archive/2010/06/30/324878.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[转]JAVA语言的反?Reflection)和内?Introspector)http://www.aygfsteel.com/migrant/archive/2010/02/04/311942.htmlJ2EE学习W记J2EE学习W记Thu, 04 Feb 2010 05:42:00 GMThttp://www.aygfsteel.com/migrant/archive/2010/02/04/311942.htmlhttp://www.aygfsteel.com/migrant/comments/311942.htmlhttp://www.aygfsteel.com/migrant/archive/2010/02/04/311942.html#Feedback1http://www.aygfsteel.com/migrant/comments/commentRss/311942.htmlhttp://www.aygfsteel.com/migrant/services/trackbacks/311942.html很多朋友在深入的接触JAVA语言后就会发现这样两个词Q反?Reflection)和内?Introspector)Q经常搞不清楚这到底是怎么回事Q在什么场合下应用以及如何使用Q今天把q二者放在一起介l,因ؓ它们二者是相辅相成的?/span>

反射

相对而言Q反比内省更容易理解一炏V用一句比较白的话来概括,反射是让你可以通过名称来得到对?c,属性,Ҏ)的技术。例如我们可以通过cd来生成一个类的实例;知道了方法名Q就可以调用q个ҎQ知道了属性名可以访问这个属性的倹{?/span>

q是写两个例子让大家更直观的了解反射的用方法:

// 通过cd来构造一个类的实?/span>
Class cls_str = Class.forName( "java.lang.String" );
// 上面q句很眼熟,因ؓ使用q?nbsp;JDBC 讉K数据库的人都用过 J
Object str = cls_str.newInstance();
// 相当?nbsp;String str = new String(); 


// 通过Ҏ名来调用一个方?/span>
String methodName = "length" ;
Method m 
= cls_str.getMethod(methodName, null );
System.out.println( 
"length is " + m.invoke(str, null ));
// 相当?nbsp;System.out.println(str.length()); 


上面的两个例子是比较常用Ҏ。看C面的例子有发问了:Z么要q么ȝ呢?本来一条语句就完成的事情干吗要整这么复杂?没错Q在上面的例子中实没有必要q么ȝ。不q你惛_q样一个应用程序,它支持动态的功能扩展Q也是说程序不重新启动但是可以自动加蝲新的功能Q这个功能用一个具体类来表C。首先我们必Mؓq些功能定义一个接口类Q然后我们要求所有扩展的功能cdd现我指定的接口,q个规定了应用程序和可扩展功能之间的接口规则Q但是怎么动态加载呢Q我们必让应用E序知道要扩展的功能cȝcdQ比如是test.Func1Q当我们把这个类?字符?告诉应用E序后,它就可以使用我们W一个例子的Ҏ来加载ƈ启用新的功能。这是cȝ反射Q请问你有别的选择吗?

内省

内省是Java语言对Beancd性、事件的一U缺省处理方法。例如类A中有属性name,那我们可以通过getName,setName来得到其值或者设|新的倹{通过getName/setName来访问name属性,q就是默认的规则。Java中提供了一套API用来讉K某个属性的getter/setterҎQ通过q些API可以使你不需要了解这个规则(但你最好还是要搞清楚)Q这些API存放于包java.beans中?/span>

一般的做法是通过cIntrospector来获取某个对象的BeanInfo信息Q然后通过BeanInfo来获取属性的描述器(PropertyDescriptorQ,通过q个属性描q器可以获取某个属性对应的getter/setterҎQ然后我们就可以通过反射机制来调用这些方法。下面我们来看一个例子,q个例子把某个对象的所有属性名U和值都打印出来Q?br />

/* 
 * Created on 2004-6-29
 
*/
 

package demo; 


import java.beans.BeanInfo;
import java.beans.Introspector;
import java.beans.PropertyDescriptor; 


/**
  * 内省演示例子
  * 
@author liudong
  
*/
 

public class IntrospectorDemo {
    String name;
    
public static void main(String[] args) throws Exception{
        IntrospectorDemo demo 
= new IntrospectorDemo();
        demo.setName( 
"Winter Lau" );         

        
// 如果不想把父cȝ属性也列出来的话,
        
// ?nbsp;getBeanInfo 的第二个参数填写父类的信?/span>
        BeanInfo bi = Introspector.getBeanInfo(demo.getClass(), Object. class );
        PropertyDescriptor[] props 
= bi.getPropertyDescriptors();
        
for ( int i=0;i<props.length;i++){
            System.out.println(props[i].getName()
+ "=" +
                    props[i].getReadMethod().invoke(demo, 
null ));
        }
 

    }
     

    
public String getName() {
        
return name;
    }
 

    
public void setName(String name) {
        
this .name = name;
    }

}


Web开发框架Struts中的FormBean是通过内省机制来将表单中的数据映射到类的属性上Q因此要求FormBean的每个属性要有getter/setterҎ。但也ƈ不Lq样Q什么意思呢Q就是说对一个BeancLԌ我可以没有属性,但是只要有getter/setterҎ中的其中一个,那么Java的内省机制就会认为存在一个属性,比如cM有方法setMobileQ那么就认ؓ存在一个mobile的属性,q样可以方便我们把Beanc通过一个接口来定义而不用去关系具体实现Q不用去关系Bean中数据的存储。比如我们可以把所有的getter/setterҎ攑ֈ接口里定义,但是真正数据的存取则是在具体cMd玎ͼq样可提高系l的扩展性?/span>

ȝ

Java的反以及内省应用到E序设计中去可以大大的提供程序的化和可扩展性。有很多目都是采取q两U技术来实现其核心功能,例如我们前面提到的StrutsQ还有用于处理XML文g的Digester目Q其实应该说几乎所有的目都或多或的采用q两U技术。在实际应用q程中二者要怺l合方能发挥真正的智能化以及高度可扩展性?/span>



J2EE学习W记 2010-02-04 13:42 发表评论
]]>
[转]?join ?CountDownLatch 让主U程{待所有子U程完成http://www.aygfsteel.com/migrant/archive/2010/01/26/310889.htmlJ2EE学习W记J2EE学习W记Tue, 26 Jan 2010 10:00:00 GMThttp://www.aygfsteel.com/migrant/archive/2010/01/26/310889.htmlhttp://www.aygfsteel.com/migrant/comments/310889.htmlhttp://www.aygfsteel.com/migrant/archive/2010/01/26/310889.html#Feedback0http://www.aygfsteel.com/migrant/comments/commentRss/310889.htmlhttp://www.aygfsteel.com/migrant/services/trackbacks/310889.html阅读全文

J2EE学习W记 2010-01-26 18:00 发表评论
]]>
[转]java.math.BigDecimal的用?/title><link>http://www.aygfsteel.com/migrant/archive/2009/05/07/269368.html</link><dc:creator>J2EE学习W记</dc:creator><author>J2EE学习W记</author><pubDate>Thu, 07 May 2009 03:33:00 GMT</pubDate><guid>http://www.aygfsteel.com/migrant/archive/2009/05/07/269368.html</guid><wfw:comment>http://www.aygfsteel.com/migrant/comments/269368.html</wfw:comment><comments>http://www.aygfsteel.com/migrant/archive/2009/05/07/269368.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/migrant/comments/commentRss/269368.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/migrant/services/trackbacks/269368.html</trackback:ping><description><![CDATA[<span style="font-size: 10pt; font-family: 新宋?>问题的提出:<br style="font-family: " /> 如果我们~译q行下面q个E序会看C么?</span><br /> <div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img id="Codehighlighter1_18_210_Open_Image" onclick="this.style.display='none'; Codehighlighter1_18_210_Open_Text.style.display='none'; Codehighlighter1_18_210_Closed_Image.style.display='inline'; Codehighlighter1_18_210_Closed_Text.style.display='inline';" alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_18_210_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_18_210_Closed_Text.style.display='none'; Codehighlighter1_18_210_Open_Image.style.display='inline'; Codehighlighter1_18_210_Open_Text.style.display='inline';" alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedBlock.gif" align="top" /><span style="color: #0000ff">public</span><span style="color: #000000"> </span><span style="color: #0000ff">class</span><span style="color: #000000"> Test </span><span id="Codehighlighter1_18_210_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.aygfsteel.com/Images/dot.gif" /></span><span id="Codehighlighter1_18_210_Open_Text"><span style="color: #000000">{<br /> <img id="Codehighlighter1_60_208_Open_Image" onclick="this.style.display='none'; Codehighlighter1_60_208_Open_Text.style.display='none'; Codehighlighter1_60_208_Closed_Image.style.display='inline'; Codehighlighter1_60_208_Closed_Text.style.display='inline';" alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_60_208_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_60_208_Closed_Text.style.display='none'; Codehighlighter1_60_208_Open_Image.style.display='inline'; Codehighlighter1_60_208_Open_Text.style.display='inline';" alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span><span style="color: #0000ff">public</span><span style="color: #000000"> </span><span style="color: #0000ff">static</span><span style="color: #000000"> </span><span style="color: #0000ff">void</span><span style="color: #000000"> main(String args[]) </span><span id="Codehighlighter1_60_208_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.aygfsteel.com/Images/dot.gif" /></span><span id="Codehighlighter1_60_208_Open_Text"><span style="color: #000000">{<br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />        <br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />        System.out.println(</span><span style="color: #000000">0.05</span><span style="color: #000000"> </span><span style="color: #000000">+</span><span style="color: #000000"> </span><span style="color: #000000">0.01</span><span style="color: #000000">);<br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />        System.out.println(</span><span style="color: #000000">1.0</span><span style="color: #000000"> </span><span style="color: #000000">-</span><span style="color: #000000"> </span><span style="color: #000000">0.42</span><span style="color: #000000">);<br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />        System.out.println(</span><span style="color: #000000">4.015</span><span style="color: #000000"> </span><span style="color: #000000">*</span><span style="color: #000000"> </span><span style="color: #000000">100</span><span style="color: #000000">);<br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />        System.out.println(</span><span style="color: #000000">123.3</span><span style="color: #000000"> </span><span style="color: #000000">/</span><span style="color: #000000"> </span><span style="color: #000000">100</span><span style="color: #000000">);<br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />        <br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span></span><span style="color: #000000"><br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span></div> <br /> <span style="font-size: 10pt; font-family: 新宋?>你没有看错!l果实?br style="font-family: " /> <br style="font-family: " /> 0.060000000000000005<br style="font-family: " /> 0.5800000000000001<br style="font-family: " /> 401.49999999999994<br style="font-family: " /> 1.2329999999999999<br style="font-family: " /> <br style="font-family: " /> Java中的单QҎcdfloat和double不能够进行运。不光是JavaQ在其它很多~程语言中也有这L问题。在大多数情况下Q计的l果是准的Q但是多试几ơ(可以做一个@环)可以试出类g面的错误。现在终于理解ؓ什么要有BCD码了?br style="font-family: " /> q个问题相当严重Q如果你?.999999999999元,你的计算机是不会认ؓ你可以购?0元的商品的?br style="font-family: " /> 在有的编E语a中提供了专门的货币类型来处理q种情况Q但是Java没有。现在让我们看看如何解决q个问题?br style="font-family: " /> <br style="font-family: " /> 四舍五入<br style="font-family: " /> 我们的第一个反应是做四舍五入。MathcM的roundҎ不能讄保留几位数Q我们只能象q样Q保留两位)Q?br style="font-family: " /> </span> <div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img id="Codehighlighter1_34_79_Open_Image" onclick="this.style.display='none'; Codehighlighter1_34_79_Open_Text.style.display='none'; Codehighlighter1_34_79_Closed_Image.style.display='inline'; Codehighlighter1_34_79_Closed_Text.style.display='inline';" alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_34_79_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_34_79_Closed_Text.style.display='none'; Codehighlighter1_34_79_Open_Image.style.display='inline'; Codehighlighter1_34_79_Open_Text.style.display='inline';" alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedBlock.gif" align="top" /><span style="color: #0000ff">public</span><span style="color: #000000"> </span><span style="color: #0000ff">double</span><span style="color: #000000"> round(</span><span style="color: #0000ff">double</span><span style="color: #000000"> value) </span><span id="Codehighlighter1_34_79_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.aygfsteel.com/Images/dot.gif" /></span><span id="Codehighlighter1_34_79_Open_Text"><span style="color: #000000">{<br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />        </span><span style="color: #0000ff">return</span><span style="color: #000000"> Math.round(value </span><span style="color: #000000">*</span><span style="color: #000000"> </span><span style="color: #000000">100</span><span style="color: #000000">) </span><span style="color: #000000">/</span><span style="color: #000000"> </span><span style="color: #000000">100.0</span><span style="color: #000000">;<br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />    }</span></span></div> <br /> <span style="font-size: 10pt; font-family: 新宋?>非常不幸Q上面的代码q不能正常工作,l这个方法传?.015它将q回4.01而不?.02Q如我们在上面看到的<br style="font-family: " /> 4.015*100=401.49999999999994<br style="font-family: " /> 因此如果我们要做到精的四舍五入Q不能利用简单类型做Mq算<br style="font-family: " /> java.text.DecimalFormat也不能解册个问题:<br style="font-family: " /> System.out.println(new java.text.DecimalFormat("0.00").format(4.025));<br style="font-family: " /> 输出?.02<br style="font-family: " /> <br style="font-family: " /> BigDecimal<br style="font-family: " /> 在《Effective Java》这本书中也提到q个原则Qfloat和double只能用来做科学计或者是工程计算Q在商业计算中我们要用java.math.BigDecimal。BigDecimal一共有4个够造方法,我们不关心用BigInteger来够造的那两个,那么q有两个Q它们是Q?br /> <br style="font-family: " /> BigDecimal(double val) <br style="font-family: " />           Translates a double into a BigDecimal. <br style="font-family: " /> BigDecimal(String val) <br style="font-family: " />           Translates the String repre sentation of a BigDecimal into a BigDecimal.<br /> <br style="font-family: " /> 上面的API要描q相当的明确Q而且通常情况下,上面的那一个用v来要方便一些。我们可能想都不惛_用上了,会有什么问题呢Q等到出了问题的时候,才发C面哪个够造方法的详细说明中有q么一D:<br style="font-family: " /> Note: the results of this constructor can be somewhat unpredictable. One might assume that new BigDecimal(.1) is exactly equal to .1, but it is actually equal to .1000000000000000055511151231257827021181583404541015625. This is so because .1 cannot be represented exactly as a double (or, for that matter, as a binary fraction of any finite length). Thus, the long value that is being passed in to the constructor is not exactly equal to .1, appearances nonwithstanding. <br style="font-family: " /> The (String) constructor, on the other hand, is perfectly predictable: new BigDecimal(".1") is exactly equal to .1, as one would expect. Therefore, it is generally recommended that the (String) constructor be used in preference to this one.<br style="font-family: " /> 原来我们如果需要精计,非要用String来够造BigDecimal不可Q在《Effective Java》一书中的例子是用String来够造BigDecimal的,但是书上却没有强调这一点,q也许是一个小的p吧?br style="font-family: " /> <br style="font-family: " /> 解决Ҏ<br style="font-family: " /> 现在我们已经可以解决q个问题了,原则是用BigDecimalq且一定要用String来够造?br style="font-family: " /> 但是惛_一下吧Q如果我们要做一个加法运,需要先两个QҎ转ؓStringQ然后够造成BigDecimalQ在其中一个上调用addҎQ传入另一个作为参敎ͼ然后把运的l果QBigDecimalQ再转换为QҎ。你能够忍受q么烦琐的过E吗Q下面我们提供一个工LArith来简化操作。它提供以下静态方法,包括加减乘除和四舍五入:<br style="font-family: " /> public static double add(double v1,double v2)<br style="font-family: " /> public static double sub(double v1,double v2)<br style="font-family: " /> public static double mul(double v1,double v2)<br style="font-family: " /> public static double div(double v1,double v2)<br style="font-family: " /> public static double div(double v1,double v2,int scale)<br style="font-family: " /> public static double round(double v,int scale)<br style="font-family: " /> 附录<br style="font-family: " /> 源文件Arith.javaQ?br style="font-family: " /> </span> <div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /><span style="color: #0000ff">import</span><span style="color: #000000"> java.math.BigDecimal;<br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /><br /> <img id="Codehighlighter1_49_2439_Open_Image" onclick="this.style.display='none'; Codehighlighter1_49_2439_Open_Text.style.display='none'; Codehighlighter1_49_2439_Closed_Image.style.display='inline'; Codehighlighter1_49_2439_Closed_Text.style.display='inline';" alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_49_2439_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_49_2439_Closed_Text.style.display='none'; Codehighlighter1_49_2439_Open_Image.style.display='inline'; Codehighlighter1_49_2439_Open_Text.style.display='inline';" alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span><span style="color: #0000ff">public</span><span style="color: #000000"> </span><span style="color: #0000ff">class</span><span style="color: #000000"> Arith </span><span id="Codehighlighter1_49_2439_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.aygfsteel.com/Images/dot.gif" /></span><span id="Codehighlighter1_49_2439_Open_Text"><span style="color: #000000">{<br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="color: #008000">//</span><span style="color: #008000">默认除法q算_ֺ</span><span style="color: #008000"><br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="color: #000000">    </span><span style="color: #0000ff">private</span><span style="color: #000000"> </span><span style="color: #0000ff">static</span><span style="color: #000000"> </span><span style="color: #0000ff">final</span><span style="color: #000000"> </span><span style="color: #0000ff">int</span><span style="color: #000000"> DEF_DIV_SCALE </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #000000">10</span><span style="color: #000000">;<br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" /><br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="color: #008000">//</span><span style="color: #008000">q个cM能实例化</span><span style="color: #008000"><br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="color: #000000">    </span><span style="color: #0000ff">private</span><span style="color: #000000"> Arith()<br /> <img id="Codehighlighter1_155_171_Open_Image" onclick="this.style.display='none'; Codehighlighter1_155_171_Open_Text.style.display='none'; Codehighlighter1_155_171_Closed_Image.style.display='inline'; Codehighlighter1_155_171_Closed_Text.style.display='inline';" alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_155_171_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_155_171_Closed_Text.style.display='none'; Codehighlighter1_155_171_Open_Image.style.display='inline'; Codehighlighter1_155_171_Open_Text.style.display='inline';" alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span><span id="Codehighlighter1_155_171_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.aygfsteel.com/Images/dot.gif" /></span><span id="Codehighlighter1_155_171_Open_Text"><span style="color: #000000">{<br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />        ;<br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span></span><span style="color: #000000"><br /> <img id="Codehighlighter1_177_263_Open_Image" onclick="this.style.display='none'; Codehighlighter1_177_263_Open_Text.style.display='none'; Codehighlighter1_177_263_Closed_Image.style.display='inline'; Codehighlighter1_177_263_Closed_Text.style.display='inline';" alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_177_263_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_177_263_Closed_Text.style.display='none'; Codehighlighter1_177_263_Open_Image.style.display='inline'; Codehighlighter1_177_263_Open_Text.style.display='inline';" alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span><span id="Codehighlighter1_177_263_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff">/** */</span><span id="Codehighlighter1_177_263_Open_Text"><span style="color: #008000">/**</span><span style="color: #008000"><br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />    * 提供_的加法运?br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />    * </span><span style="color: #808080">@param</span><span style="color: #008000"> v1 被加?br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />    * </span><span style="color: #808080">@param</span><span style="color: #008000"> v2 加数<br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />    * </span><span style="color: #808080">@return</span><span style="color: #008000"> 两个参数的和<br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    </span><span style="color: #008000">*/</span></span><span style="color: #000000"><br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="color: #0000ff">public</span><span style="color: #000000"> </span><span style="color: #0000ff">static</span><span style="color: #000000"> </span><span style="color: #0000ff">double</span><span style="color: #000000"> add(</span><span style="color: #0000ff">double</span><span style="color: #000000"> v1,</span><span style="color: #0000ff">double</span><span style="color: #000000"> v2)<br /> <img id="Codehighlighter1_319_488_Open_Image" onclick="this.style.display='none'; Codehighlighter1_319_488_Open_Text.style.display='none'; Codehighlighter1_319_488_Closed_Image.style.display='inline'; Codehighlighter1_319_488_Closed_Text.style.display='inline';" alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_319_488_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_319_488_Closed_Text.style.display='none'; Codehighlighter1_319_488_Open_Image.style.display='inline'; Codehighlighter1_319_488_Open_Text.style.display='inline';" alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span><span id="Codehighlighter1_319_488_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.aygfsteel.com/Images/dot.gif" /></span><span id="Codehighlighter1_319_488_Open_Text"><span style="color: #000000">{<br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />        BigDecimal b1 </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #0000ff">new</span><span style="color: #000000"> BigDecimal(Double.toString(v1));<br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />        BigDecimal b2 </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #0000ff">new</span><span style="color: #000000"> BigDecimal(Double.toString(v2));<br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />        </span><span style="color: #0000ff">return</span><span style="color: #000000"> b1.add(b2).doubleValue();<br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span></span><span style="color: #000000"><br /> <img id="Codehighlighter1_494_580_Open_Image" onclick="this.style.display='none'; Codehighlighter1_494_580_Open_Text.style.display='none'; Codehighlighter1_494_580_Closed_Image.style.display='inline'; Codehighlighter1_494_580_Closed_Text.style.display='inline';" alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_494_580_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_494_580_Closed_Text.style.display='none'; Codehighlighter1_494_580_Open_Image.style.display='inline'; Codehighlighter1_494_580_Open_Text.style.display='inline';" alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span><span id="Codehighlighter1_494_580_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff">/** */</span><span id="Codehighlighter1_494_580_Open_Text"><span style="color: #008000">/**</span><span style="color: #008000"><br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />    * 提供_的减法运?br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />    * </span><span style="color: #808080">@param</span><span style="color: #008000"> v1 被减?br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />    * </span><span style="color: #808080">@param</span><span style="color: #008000"> v2 减数<br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />    * </span><span style="color: #808080">@return</span><span style="color: #008000"> 两个参数的差<br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    </span><span style="color: #008000">*/</span></span><span style="color: #000000"><br /> <img id="Codehighlighter1_631_805_Open_Image" onclick="this.style.display='none'; Codehighlighter1_631_805_Open_Text.style.display='none'; Codehighlighter1_631_805_Closed_Image.style.display='inline'; Codehighlighter1_631_805_Closed_Text.style.display='inline';" alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_631_805_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_631_805_Closed_Text.style.display='none'; Codehighlighter1_631_805_Open_Image.style.display='inline'; Codehighlighter1_631_805_Open_Text.style.display='inline';" alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span><span style="color: #0000ff">public</span><span style="color: #000000"> </span><span style="color: #0000ff">static</span><span style="color: #000000"> </span><span style="color: #0000ff">double</span><span style="color: #000000"> sub(</span><span style="color: #0000ff">double</span><span style="color: #000000"> v1,</span><span style="color: #0000ff">double</span><span style="color: #000000"> v2)</span><span id="Codehighlighter1_631_805_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.aygfsteel.com/Images/dot.gif" /></span><span id="Codehighlighter1_631_805_Open_Text"><span style="color: #000000">{<br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />        BigDecimal b1 </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #0000ff">new</span><span style="color: #000000"> BigDecimal(Double.toString(v1));<br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />        BigDecimal b2 </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #0000ff">new</span><span style="color: #000000"> BigDecimal(Double.toString(v2));<br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />        </span><span style="color: #0000ff">return</span><span style="color: #000000"> b1.subtract(b2).doubleValue();<br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span></span><span style="color: #000000"><br /> <img id="Codehighlighter1_811_897_Open_Image" onclick="this.style.display='none'; Codehighlighter1_811_897_Open_Text.style.display='none'; Codehighlighter1_811_897_Closed_Image.style.display='inline'; Codehighlighter1_811_897_Closed_Text.style.display='inline';" alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_811_897_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_811_897_Closed_Text.style.display='none'; Codehighlighter1_811_897_Open_Image.style.display='inline'; Codehighlighter1_811_897_Open_Text.style.display='inline';" alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span><span id="Codehighlighter1_811_897_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff">/** */</span><span id="Codehighlighter1_811_897_Open_Text"><span style="color: #008000">/**</span><span style="color: #008000"><br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />    * 提供_的乘法运?br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />    * </span><span style="color: #808080">@param</span><span style="color: #008000"> v1 被乘?br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />    * </span><span style="color: #808080">@param</span><span style="color: #008000"> v2 乘数<br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />    * </span><span style="color: #808080">@return</span><span style="color: #008000"> 两个参数的积<br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    </span><span style="color: #008000">*/</span></span><span style="color: #000000"><br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="color: #0000ff">public</span><span style="color: #000000"> </span><span style="color: #0000ff">static</span><span style="color: #000000"> </span><span style="color: #0000ff">double</span><span style="color: #000000"> mul(</span><span style="color: #0000ff">double</span><span style="color: #000000"> v1,</span><span style="color: #0000ff">double</span><span style="color: #000000"> v2)<br /> <img id="Codehighlighter1_953_1127_Open_Image" onclick="this.style.display='none'; Codehighlighter1_953_1127_Open_Text.style.display='none'; Codehighlighter1_953_1127_Closed_Image.style.display='inline'; Codehighlighter1_953_1127_Closed_Text.style.display='inline';" alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_953_1127_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_953_1127_Closed_Text.style.display='none'; Codehighlighter1_953_1127_Open_Image.style.display='inline'; Codehighlighter1_953_1127_Open_Text.style.display='inline';" alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span><span id="Codehighlighter1_953_1127_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.aygfsteel.com/Images/dot.gif" /></span><span id="Codehighlighter1_953_1127_Open_Text"><span style="color: #000000">{<br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />        BigDecimal b1 </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #0000ff">new</span><span style="color: #000000"> BigDecimal(Double.toString(v1));<br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />        BigDecimal b2 </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #0000ff">new</span><span style="color: #000000"> BigDecimal(Double.toString(v2));<br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />        </span><span style="color: #0000ff">return</span><span style="color: #000000"> b1.multiply(b2).doubleValue();<br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span></span><span style="color: #000000"><br /> <img id="Codehighlighter1_1133_1263_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1133_1263_Open_Text.style.display='none'; Codehighlighter1_1133_1263_Closed_Image.style.display='inline'; Codehighlighter1_1133_1263_Closed_Text.style.display='inline';" alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_1133_1263_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_1133_1263_Closed_Text.style.display='none'; Codehighlighter1_1133_1263_Open_Image.style.display='inline'; Codehighlighter1_1133_1263_Open_Text.style.display='inline';" alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span><span id="Codehighlighter1_1133_1263_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff">/** */</span><span id="Codehighlighter1_1133_1263_Open_Text"><span style="color: #008000">/**</span><span style="color: #008000"><br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />    * 提供Q相对)_的除法运,当发生除不尽的情冉|Q精到<br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />    * 数点以?0位,以后的数字四舍五入?br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />    * </span><span style="color: #808080">@param</span><span style="color: #008000"> v1 被除?br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />    * </span><span style="color: #808080">@param</span><span style="color: #008000"> v2 除数<br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />    * </span><span style="color: #808080">@return</span><span style="color: #008000"> 两个参数的商<br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    </span><span style="color: #008000">*/</span></span><span style="color: #000000"><br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="color: #0000ff">public</span><span style="color: #000000"> </span><span style="color: #0000ff">static</span><span style="color: #000000"> </span><span style="color: #0000ff">double</span><span style="color: #000000"> div(</span><span style="color: #0000ff">double</span><span style="color: #000000"> v1,</span><span style="color: #0000ff">double</span><span style="color: #000000"> v2)<br /> <img id="Codehighlighter1_1319_1366_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1319_1366_Open_Text.style.display='none'; Codehighlighter1_1319_1366_Closed_Image.style.display='inline'; Codehighlighter1_1319_1366_Closed_Text.style.display='inline';" alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_1319_1366_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_1319_1366_Closed_Text.style.display='none'; Codehighlighter1_1319_1366_Open_Image.style.display='inline'; Codehighlighter1_1319_1366_Open_Text.style.display='inline';" alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span><span id="Codehighlighter1_1319_1366_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.aygfsteel.com/Images/dot.gif" /></span><span id="Codehighlighter1_1319_1366_Open_Text"><span style="color: #000000">{<br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />        </span><span style="color: #0000ff">return</span><span style="color: #000000"> div(v1,v2,DEF_DIV_SCALE);<br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span></span><span style="color: #000000"><br /> <img id="Codehighlighter1_1372_1540_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1372_1540_Open_Text.style.display='none'; Codehighlighter1_1372_1540_Closed_Image.style.display='inline'; Codehighlighter1_1372_1540_Closed_Text.style.display='inline';" alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_1372_1540_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_1372_1540_Closed_Text.style.display='none'; Codehighlighter1_1372_1540_Open_Image.style.display='inline'; Codehighlighter1_1372_1540_Open_Text.style.display='inline';" alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span><span id="Codehighlighter1_1372_1540_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff">/** */</span><span id="Codehighlighter1_1372_1540_Open_Text"><span style="color: #008000">/**</span><span style="color: #008000"><br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />    * 提供Q相对)_的除法运。当发生除不的情况Ӟ由scale参数?br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />    * 定精度,以后的数字四舍五入?br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />    * </span><span style="color: #808080">@param</span><span style="color: #008000"> v1 被除?br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />    * </span><span style="color: #808080">@param</span><span style="color: #008000"> v2 除数<br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />    * </span><span style="color: #808080">@param</span><span style="color: #008000"> scale 表示表示需要精到数点以后几位?br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />    * </span><span style="color: #808080">@return</span><span style="color: #008000"> 两个参数的商<br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    </span><span style="color: #008000">*/</span></span><span style="color: #000000"><br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="color: #0000ff">public</span><span style="color: #000000"> </span><span style="color: #0000ff">static</span><span style="color: #000000"> </span><span style="color: #0000ff">double</span><span style="color: #000000"> div(</span><span style="color: #0000ff">double</span><span style="color: #000000"> v1,</span><span style="color: #0000ff">double</span><span style="color: #000000"> v2,</span><span style="color: #0000ff">int</span><span style="color: #000000"> scale)<br /> <img id="Codehighlighter1_1606_1945_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1606_1945_Open_Text.style.display='none'; Codehighlighter1_1606_1945_Closed_Image.style.display='inline'; Codehighlighter1_1606_1945_Closed_Text.style.display='inline';" alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_1606_1945_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_1606_1945_Closed_Text.style.display='none'; Codehighlighter1_1606_1945_Open_Image.style.display='inline'; Codehighlighter1_1606_1945_Open_Text.style.display='inline';" alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span><span id="Codehighlighter1_1606_1945_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.aygfsteel.com/Images/dot.gif" /></span><span id="Codehighlighter1_1606_1945_Open_Text"><span style="color: #000000">{<br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />        </span><span style="color: #0000ff">if</span><span style="color: #000000">(scale</span><span style="color: #000000"><</span><span style="color: #000000">0</span><span style="color: #000000">)<br /> <img id="Codehighlighter1_1636_1742_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1636_1742_Open_Text.style.display='none'; Codehighlighter1_1636_1742_Closed_Image.style.display='inline'; Codehighlighter1_1636_1742_Closed_Text.style.display='inline';" alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_1636_1742_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_1636_1742_Closed_Text.style.display='none'; Codehighlighter1_1636_1742_Open_Image.style.display='inline'; Codehighlighter1_1636_1742_Open_Text.style.display='inline';" alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />        </span><span id="Codehighlighter1_1636_1742_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.aygfsteel.com/Images/dot.gif" /></span><span id="Codehighlighter1_1636_1742_Open_Text"><span style="color: #000000">{<br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />            </span><span style="color: #0000ff">throw</span><span style="color: #000000"> </span><span style="color: #0000ff">new</span><span style="color: #000000"> IllegalArgumentException(</span><span style="color: #000000">"</span><span style="color: #000000">The scale must be a positive integer or zero</span><span style="color: #000000">"</span><span style="color: #000000">);<br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />        }</span></span><span style="color: #000000"><br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />        BigDecimal b1 </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #0000ff">new</span><span style="color: #000000"> BigDecimal(Double.toString(v1));<br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />        BigDecimal b2 </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #0000ff">new</span><span style="color: #000000"> BigDecimal(Double.toString(v2));<br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />        </span><span style="color: #0000ff">return</span><span style="color: #000000"> b1.divide(b2,scale,BigDecimal.ROUND_HALF_UP).doubleValue();<br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span></span><span style="color: #000000"><br /> <img id="Codehighlighter1_1951_2058_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1951_2058_Open_Text.style.display='none'; Codehighlighter1_1951_2058_Closed_Image.style.display='inline'; Codehighlighter1_1951_2058_Closed_Text.style.display='inline';" alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_1951_2058_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_1951_2058_Closed_Text.style.display='none'; Codehighlighter1_1951_2058_Open_Image.style.display='inline'; Codehighlighter1_1951_2058_Open_Text.style.display='inline';" alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span><span id="Codehighlighter1_1951_2058_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff">/** */</span><span id="Codehighlighter1_1951_2058_Open_Text"><span style="color: #008000">/**</span><span style="color: #008000"><br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />    * 提供_的小C四舍五入处理?br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />    * </span><span style="color: #808080">@param</span><span style="color: #008000"> v 需要四舍五入的数字<br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />    * </span><span style="color: #808080">@param</span><span style="color: #008000"> scale 数点后保留几位<br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />    * </span><span style="color: #808080">@return</span><span style="color: #008000"> 四舍五入后的l果<br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    </span><span style="color: #008000">*/</span></span><span style="color: #000000"><br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="color: #0000ff">public</span><span style="color: #000000"> </span><span style="color: #0000ff">static</span><span style="color: #000000"> </span><span style="color: #0000ff">double</span><span style="color: #000000"> round(</span><span style="color: #0000ff">double</span><span style="color: #000000"> v,</span><span style="color: #0000ff">int</span><span style="color: #000000"> scale)<br /> <img id="Codehighlighter1_2115_2437_Open_Image" onclick="this.style.display='none'; Codehighlighter1_2115_2437_Open_Text.style.display='none'; Codehighlighter1_2115_2437_Closed_Image.style.display='inline'; Codehighlighter1_2115_2437_Closed_Text.style.display='inline';" alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_2115_2437_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_2115_2437_Closed_Text.style.display='none'; Codehighlighter1_2115_2437_Open_Image.style.display='inline'; Codehighlighter1_2115_2437_Open_Text.style.display='inline';" alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span><span id="Codehighlighter1_2115_2437_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.aygfsteel.com/Images/dot.gif" /></span><span id="Codehighlighter1_2115_2437_Open_Text"><span style="color: #000000">{<br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />        </span><span style="color: #0000ff">if</span><span style="color: #000000">(scale</span><span style="color: #000000"><</span><span style="color: #000000">0</span><span style="color: #000000">)<br /> <img id="Codehighlighter1_2145_2251_Open_Image" onclick="this.style.display='none'; Codehighlighter1_2145_2251_Open_Text.style.display='none'; Codehighlighter1_2145_2251_Closed_Image.style.display='inline'; Codehighlighter1_2145_2251_Closed_Text.style.display='inline';" alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_2145_2251_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_2145_2251_Closed_Text.style.display='none'; Codehighlighter1_2145_2251_Open_Image.style.display='inline'; Codehighlighter1_2145_2251_Open_Text.style.display='inline';" alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />        </span><span id="Codehighlighter1_2145_2251_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.aygfsteel.com/Images/dot.gif" /></span><span id="Codehighlighter1_2145_2251_Open_Text"><span style="color: #000000">{<br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />            </span><span style="color: #0000ff">throw</span><span style="color: #000000"> </span><span style="color: #0000ff">new</span><span style="color: #000000"> IllegalArgumentException(</span><span style="color: #000000">"</span><span style="color: #000000">The scale must be a positive integer or zero</span><span style="color: #000000">"</span><span style="color: #000000">);<br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />        }</span></span><span style="color: #000000"><br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />        BigDecimal b </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #0000ff">new</span><span style="color: #000000"> BigDecimal(Double.toString(v));<br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />        BigDecimal one </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #0000ff">new</span><span style="color: #000000"> BigDecimal(</span><span style="color: #000000">"</span><span style="color: #000000">1</span><span style="color: #000000">"</span><span style="color: #000000">);<br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />        </span><span style="color: #0000ff">return</span><span style="color: #000000"> b.divide(one,scale,BigDecimal.ROUND_HALF_UP).doubleValue();<br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span></span><span style="color: #000000"><br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span></div> <img src ="http://www.aygfsteel.com/migrant/aggbug/269368.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/migrant/" target="_blank">J2EE学习W记</a> 2009-05-07 11:33 <a href="http://www.aygfsteel.com/migrant/archive/2009/05/07/269368.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <a href="http://www.aygfsteel.com/" title="狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频">狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频</a> </div> </footer> վ֩ģ壺 <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ɽ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">̩</a>| <a href="http://" target="_blank">ָɽ</a>| <a href="http://" target="_blank">ľ</a>| <a href="http://" target="_blank">üɽ</a>| <a href="http://" target="_blank">ˮ</a>| <a href="http://" target="_blank">ʳ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">߷</a>| <a href="http://" target="_blank">¡</a>| <a href="http://" target="_blank">ϻ</a>| <a href="http://" target="_blank">̫</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ʱ</a>| <a href="http://" target="_blank">¤</a>| <a href="http://" target="_blank">¡</a>| <a href="http://" target="_blank">Զ</a>| <a href="http://" target="_blank">Ӫ</a>| <a href="http://" target="_blank">͸</a>| <a href="http://" target="_blank">ɽ</a>| <a href="http://" target="_blank">ǹ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ƽɽ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">˳</a>| <a href="http://" target="_blank">ͤ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>