zoukankan      html  css  js  c++  java
  • 四种转换方式:自动,强制,Parse,Convert

    自动类型的转换

           在数据类型兼容的情况下,将1个小范围的变量的值 直接 赋值给 1个大范围类型的变量

             满足自动类型转换的条件:

    1. 两种变量的数据类型兼容, 所有的数值类型之间和char类型之间相互兼容
    2. 目标类型的范围比源类型大

    注:cha类型的数据对应的是ASCII码;变量的一旦声明,它的类型就无法改变.

    总结:自动类型转换做的事情: 就是把源变量的值 拷贝赋值给 目标变量.

     

    强制类型的转换

    背景:.在数据类型兼容的情况下,不能把1个大范围类型的变量的值直接的赋值给1个小范围的类型的变量, 因为有可能会发生溢出的现象:

    不会发生溢出的情况: 大范围变量中的值刚好在小范围的变量之中

    发生溢出的情况: 大范围变量中的值大于了小范围的变量

    So:C#就不会帮转换

            内容:程序员 就是要让 CPU把这个大范围变量中的值 赋值给 小范围的变量. 因为这个时候程序员可以保证不会溢出

           语法:(强制转换的类型)数据;

             强制转换的条件:1). 两种数据类型之间相互兼容. 再次强调 string和数值类型之间不兼容.

                                   2). 目标类型小于源类型

             强制转换做的事情:CPU将大范围变量中的值 强制的拿出来.  强制的赋值给小范围的变量.

           整型之间:  long>int>short>byte      浮点型之间: double>float>decimal

             浮点型的范围总是比整型的大

           将浮点型强制转换为整型,会将小数部分 活生生的 截掉. 直接保留整数部分.不会做四舍五入.

           可以将1个char类型的数据 直接的 赋值给1个int类型的数据,但不能直接把1个int类型的数据赋值给1个char类型的数据 除非做强制转换. 如果这样的话 char类型的变量的值 就是以这个int类型作为ASCII码对应的char数据,.

     

             无论是强制类型转换还是自动类型转换 他们的首要前提是 数据类型兼容.

             强制类型转换还是自动类型转换 他们都是内存级别的转换.

     

    Parse转换:将字符串转换为其他的类型.

             语法: 要将字符串转换为什么类型  就什么类型.Parse(待转换的字符串);

             Parse转换只能将字符串转换为其他的类型.

     

    Convert转换:集前面三种转换于一身并且还有新增的转换.  是1个万能转换.

           语法要将指定的数据转换为什么类型就   Convert.To什么类型(待转换的数据);

             注意细节:int--> Int32    long-> Int64   short-> Int16   float -> Single   bool -> Boolean

                                其他的类型. 直接To就可以.

             和以上几种的区别:

             Convert转换可以做自动类型转换的事情. 效果与自动转换的语法没有任何区,一般不用Convert

             Convert转换可以做强制转换做的事情.

                       强制转换的语法如果溢出  不会报错 只不过结果不是我们想要的.

                       Convert转换 如果溢出  就会报异常.

            将浮点型强制转换的语法 转换为 整型   会截取掉小数部分

                       Convert会做四舍五入.注意小数部分只有大于0.5才会入小于或者等于是不会入的.   

        Convert转换还可以做parse转换做的事情,本质:其实内部就是调用了parse转换

                       区别: 当字符串的值为null的时候 Convert转换返回0   Parse转换报异常.

             将任意的数据转换为 字符串. 调用这个数据的ToString()方法.

  • 相关阅读:
    安装lnmp 时如何修改数据库数据存储地址及默认访问地址
    ubuntu 设置root用户密码并实现root用户登录
    解决ubuntu 远程连接问题
    linux 搭建FTP服务器
    PHP 根据ip获取对应的实际地址
    如何发布自己的composer包
    使用composer安装composer包报Your requirements could not be resolved to an installable set of packages
    laravel 框架配置404等异常页面
    使用Xshell登录linux服务器报WARNING! The remote SSH server rejected X11 forwarding request
    IoTSharp 已支持国产松果时序数据库PinusDB
  • 原文地址:https://www.cnblogs.com/luobin991/p/3771536.html
Copyright © 2011-2022 走看看