zoukankan      html  css  js  c++  java
  • Java ------- 数字转换为 字符串

    学习相同的内容每次看都有新的发现,本文主要介绍java  中的转换,但是好多的方法在不同的语言中是通用的

    不知道大家有没有深入的学习过Java 的源码,或看看Java的 API 帮助手册

    先解决问题,double类型的数字如何转换为 String类型

    三种方式:第一种用的比较多

      //第一种方式通过ToString() 方法, Double 就是一个包装类

      String s1 = Double.toString(dou1);

      //第二种方式是通过valueof() 方法, 本质上还是调用 toString() 方法

      String s2 = String.valueOf(dou1);

      //第三种没有借助包装类
      String s3 =""+dou1;

    运行代码:获取 类型的的方法是自己写的不是Java源码中自带的

     

     所有代码:

    package com.obge.contr;
    
    public class ChangeNtoS {
        
        public static void main(String[] args) {
            //定义一个变量并赋值,,变量和常量:一个可以变化,一个不能变换,使用final定义的就不能变换
            double dou1 = 3.222;
            int i1= 22;
            float f1= 2.1f;
            byte b1 =1;
            long l1 =1;
            short st1 =22;
            // 将double 类型转换为String  类型    知道 包装类和 基本数据类型,Java 5 增加了自动装箱、拆箱机制,
            //第一种方式通过ToString() 方法, Double 就是一个包装类
            String s1 = Double.toString(dou1);
            String sf1 = Float.toString(f1);
            String si1 = Integer.toString(i1);
            
            String sb1 = Byte.toString(b1);
            String sl1 = Long.toString(l1);
            String sst1 = Short.toString(st1);
            //第二种方式是通过valueof()  方法, 本质上还是调用 toString() 方法
            String s2 = String.valueOf(dou1);
            //第三种没有借助包装类
            String s3 =""+dou1;
            
            System.out.println("转换前:");
            System.out.println(dou1+"的类型是:"+getType(dou1));
            System.out.println("转换后:");
            System.out.println(s1+"的类型是:"+getType(s1));
            System.out.println(s2+"的类型是:"+getType(s2));
            System.out.println(s3+"的类型是:"+getType(s3));
            System.out.println(i1+"转换前的类型是:"+getType(i1)+"转换后的类型是:"+getType(si1));
        }
    
        
        //获取变量类型方法
            public static String getType(Object o){ 
                //调用该方法返回变量类型   getClass()方法
                return o.getClass().toString();
                
                }         
    
    }

    2、观看源码,看看调用的事什么方法

    按住ctrl 键 点击toString 进入方法中,可以直接点击去

     

     declaration 宣告说明       implementation 实现

    可以看到,toString  是Double 类的方法,他是一个静态方法,更深处的代码就需要引用jdk 的源码了先了解了解

    点击     valueof 中可以看出 这个是String类的方法,本质上还是调用 Double    类的 toString    方法 

    Integer  的toString 方法略有不同,进行了判断

    byte  借助integer

     可以自己试试 :

     float 和double 差不多 ,long和int 差不多,byte 和short 类型差不多借助integer

    这个图挺好 

  • 相关阅读:
    计算1的个数
    【环境配置】配置git
    Spoj 9887 Binomial coefficients 构造
    程序猿与HR博弈之:有城府的表达你的兴趣爱好
    C和指针 (pointers on C)——第六章:指针(上)
    关于undo表空间配置错误的ORA-30012
    每天进步一点点——Linux系统中的异常堆栈跟踪简单实现
    javaScript 对象的使用
    手机游戏加密那点事儿_2d资源加密_1
    支持向量机
  • 原文地址:https://www.cnblogs.com/obge/p/12161549.html
Copyright © 2011-2022 走看看