• 【Java】【30】数据基本类型的转换


    前言:

    基本类型:Character, Byte, Short, Integer, Long, Float, Double, Boolean.

    注:部分精度丢失问题未确认

    正文:

    1,boolean

    boolean类型与其他基本类型不能进行类型的转换,可以用if..else..或者三元表达式转换

    2,int

    int i = 10;

    int 转化成String:

    (1)String str = Integer.toString(i);

    (2)String str = String.valueOf(i);

    (3)String str = i + " ";

    int 转化成float:

    (1)强制转换 float b  =  (float) i;

    (2)i*1.0 或 i/1.0 float b = i*1.0;

    int 转化成double:

    (1)double a = i;

    int 转化成bigdecimal:

    (1)BigDecimal number = BigDecimal.valueOf((int) i);

    3,String

    String str = "123456";

    String 转化成int:

    (1)int i = Integer.parseInt(str);

    (2)int i = Integer.valueOf(str).intValue();

    String 转化成float:

    (1)float f = Float.parseFloat(str);

    String 转化成double:

    (1)double d = Double.valueOf(str).doubleValue();

    4,float

    float f = 0.1f或 float f = (float) 0.1;

    float 转化成int:

    (1)int i = (int) f;  

    float  转化成String:

    (1)String str = String.valueOf(a);

    (2)String str = a + " ";

    float  转化成double:

    (1)double d = f;

    (2)精度不丢失:

    float f = 127.1f;

    BigDecimal b = new BigDecimal(String.valueOf(f));

    double d = b.doubleValue();

    5,double

    double d = 10.23;

    double 转化成int:

    (1)只取整数部分 :int i = (int) d;

    (2)int i = (new Double(d)).intValue();

    double 转化成String:

    (1)String str = Double.toString(d);

    (2)String str  = d.ToString("r");

    (3)String str = String.valueOf(d);

    double 转化成float:

    (1)float f = (float)d;

    6,备注

    1,所有数据类型的可以强制转换,但可能会存在精度丢失的问题

    2,BigDecimal可处理精度问题

    3,截取一定的位数:

          DecimalFormat decimalFormat = new DecimalFormat("##0.0");
          float Erate = Float.parseFloat(decimalFormat.format(this.DoneQTY * 100.0F / this.PlanQTY));

           ——  decimalFormat.format(this.DoneQTY * 100.0F / this.PlanQTY)为String类型

    参考资料

    Java:数据类型转换 - 子 孑 - 51CTO技术博客: http://zhangjunhd.blog.51cto.com/113473/17552/

    java int short long float double 大整理(不要错过)-hxz_zt-ChinaUnix博客  : http://blog.chinaunix.net/uid-26930580-id-4175110.html

    Java中float和double转换的问题?-CSDN论坛-CSDN.NET-中国最大的IT技术社区 : http://bbs.csdn.net/topics/340231509

    float转int 四舍五入问题 - 非著名码农的专栏 - 博客频道 - CSDN.NET : http://blog.csdn.net/ropai/article/details/19907847

    BigDecimal用法详解 - Ruthless - 博客园 : http://www.cnblogs.com/linjiqin/p/3413894.html

  • 相关阅读:
    python 代码片段17
    python 代码片段15
    python 代码片段14
    python 代码片段13
    python 代码片段12
    RBAC模型
    2、服务注册与发现-电影服务
    1、通过eureka创建注册中心
    prop与attr
    位运算,效率高
  • 原文地址:https://www.cnblogs.com/huashengweilong/p/11043975.html
Copyright © 2020-2023  润新知