java开发小细节分享-阿里云开发者社区

开发者社区> 开发与运维> 正文
登录阅读全文

java开发小细节分享

简介: 下边情况,小菜鸟编程,小毛病!      遇到后开发记录。     [希望览官大人指教]: java语言开发:    1.String类的indexOf方法 public static void main(String[] args) { String a = "ab-cd"; if("-".indexOf(a) != -1){

下边情况,小菜鸟编程,小毛病!

     遇到后开发记录。

    [希望览官大人指教]:

java语言开发:

   1.String类的indexOf方法

    public static void main(String[] args) {
        String a = "ab-cd";
        if("-".indexOf(a) != -1){
            System.out.println("pre inner");
        }
        if(a.indexOf("-") != -1){
            System.out.println("lef inner");
        }
    }

程序只输出:lef inner

    注:①前者为字符串大集合,②大集合字符串必须放前边,③lastIndexOf也是类似

  2.基本类型Double,字符串转换Double[可转换]

	  double x = Double.valueOf("123").doubleValue();
	  System.out.println(x);

程序输出为:123.0
 说明:上例是将一个字符串"123"转化成一个Double对象(Double是一个类),然后再调用这个对象的doubleValue()方法返回其对应的double数值,赋给x。

3.double保留"x.00"的两个“0”结尾的显示

	   //实现价格保留两位小数,不足会补零
	   String priceStr = "2008";
	   priceStr = "2000";
	   double amount = Double.parseDouble(priceStr);
	   amount = amount / (Math.pow(10, 2));
	   DecimalFormat df = new DecimalFormat();
	   df.applyPattern("#0.00");
	   BigDecimal bd = new BigDecimal(df.format(amount));
	   priceStr = bd.toPlainString();
	   System.out.println(priceStr);

程序输出:20.08  

                  20.00

4:Math的round和pow

	    //Math.round(x);返回数字最接近的整数,四舍五入取整数,即舍去小数部分
	    System.out.println(Math.round(123.567));
	    System.out.println(Math.round(123.456));
        //Math.pow(x,y);返回底数的指定次幂
        //返回以x的y次幂,等同于x的y次幂的数值表达式
        //如果pow的参数过大而引起浮点溢出,返回Infinity
	    System.out.println("-------");
        System.out.println(Math.pow(2,10));//2的10次方等于1024
        System.out.println(Math.pow(1024,0.1));//1024的0.1次方等于2
        System.out.println(Math.pow(99,9999));//溢出则返回Infinity
        System.out.println("-------");
        //设置要保留的小数位数,四舍五入,保留三位小数,先乘以10的倍数,然后去掉小数,最后再除以10的倍数
        //要格式化的 数字
        double Dight = Double.parseDouble("12345.67890");
        //要保留的小数位数
        System.out.println(Dight);
        double How = Double.parseDouble("3");
        System.out.println(Math.round(Dight*Math.pow(10,How))/Math.pow(10,How));  

程序输出:

124
123
-------
1024.0
2.0
Infinity
-------
12345.6789
12345.679


 

 

 

</**积累../>

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章