【Kotlin 初学者】数
        【摘要】 
                     
 作者简介:CSDN博客专家、华为云享专家认证 
 系列专栏:Kotlin 初学者 
 学习交流:三人行必有我师焉;择其善者而从之,其不善者而改之。 
 
目录 
前言 
String转Int 
Double转Int 
Double类型格式化 
前言 
 toByte():字节():字节  toShort(): 短():短  to...
    
    
    
    作者简介:CSDN博客专家、华为云享专家认证
系列专栏:Kotlin 初学者
学习交流:三人行必有我师焉;择其善者而从之,其不善者而改之。
目录
前言
-  toByte():字节():字节 
-  toShort(): 短():短 
-  toInt(): 整数():整数 
-  toLong(): 长():长 
-  toFloat(): 浮动():浮动 
-  toDouble(): 双倍():双 
-  toChar(): 字符():字符 
String转Int
将字符串解析为Int数字:
-  如果字符串不是数字的有效表示形式,则抛出NumberFormatException异常。 
-  如果字符串是数字的有效表示形式,返回Int值。 
  
   - 
    
     
    
    
     
      fun main() {
     
    
- 
    
     
    
    
     
          var str = "1223"
     
    
- 
    
     
    
    
     
          println(str.toInt())//1223
     
    
- 
    
     
    
    
     
          str = "3.1415926"
     
    
- 
    
     
    
    
     
          println(str.toInt())//报错
     
    
- 
    
     
    
    
     
      }
     
    
 
解决NumberFormatException异常:
使用toIntOrNull()安全转换:将字符串解析为Int数字,如果字符串不是数字的有效表示形式,则返回结果"null",而不是程序崩溃。
  
   - 
    
     
    
    
     
      fun main() {
     
    
- 
    
     
    
    
     
          //String转Int
     
    
- 
    
     
    
    
     
          var str = "1223"
     
    
- 
    
     
    
    
     
          println(str.toInt())//1223
     
    
- 
    
     
    
    
     
          str = "3.1415926"
     
    
- 
    
     
    
    
     
          //报错java.lang.NumberFormatException: For input string: "3.1415926"
     
    
- 
    
     
    
    
     
          //println(str.toInt())
     
    
- 
    
     
    
    
     
          println(str.toIntOrNull())//null
     
    
- 
    
     
    
    
     
          str = "18"
     
    
- 
    
     
    
    
     
          println(str.toIntOrNull())//18
     
    
- 
    
     
    
    
     
      }
     
    
 所以当使用数字类型转换的时候 尽量使用toIntOrNull(),而不是toInt()。
Double转Int
  
   - 
    
     
    
    
     
          //Double转Int
     
    
- 
    
     
    
    
     
          var d = 3.1415926
     
    
- 
    
     
    
    
     
          println(d.toInt())//3
     
    
- 
    
     
    
    
     
          println(d.roundToInt())//3(四舍五入)
     
    
- 
    
     
    
    
     
          d = 3.5415926
     
    
- 
    
     
    
    
     
          println(d.roundToInt())//4(四舍五入)
     
    
- 
    
     
    
    
     
          println(d.toInt())//3
     
    
 注意:用roundToInt()函数,保证Double转Int持有四舍五入的效果
Double类型格式化
格式化字符串是一串特殊字符,它决定该如何格式化数据。这个功能在实际开发当中比较常用。
  
   - 
    
     
    
    
     
          //Double类型格式化
     
    
- 
    
     
    
    
     
          var s: String = "%.1f".format(d)//保留一位小数(且支持四舍五入)
     
    
- 
    
     
    
    
     
          println(s)//3.5
     
    
- 
    
     
    
    
     
          d = 3.1415926
     
    
- 
    
     
    
    
     
          s = "%.1f".format(d)//保留一位小数(且支持四舍五入)
     
    
- 
    
     
    
    
     
          println(s)//3.1
     
    
- 
    
     
    
    
     
          s = "%.2f".format(d)//保留两位小数(且支持四舍五入)
     
    
- 
    
     
    
    
     
          println(s)//3.14
     
    
- 
    
     
    
    
     
          s = "%.3f".format(d)//保留三位小数(且支持四舍五入)
     
    
- 
    
     
    
    
     
          println(s)//3.142
     
    
 文章来源: shuaici.blog.csdn.net,作者:帅次,版权归原作者所有,如需转载,请联系作者。
原文链接:shuaici.blog.csdn.net/article/details/122126813
        【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
            cloudbbs@huaweicloud.com
        
        
        
        
        
        
        - 点赞
- 收藏
- 关注作者
 
             
           
评论(0)