【Kotlin 初学者】数

举报
帅次 发表于 2021/12/26 00:35:40 2021/12/26
【摘要】 作者简介:CSDN博客专家、华为云享专家认证 系列专栏:Kotlin 初学者 学习交流:三人行必有我师焉;择其善者而从之,其不善者而改之。 目录 前言 String转Int Double转Int Double类型格式化 前言 toByte():字节():字节 toShort(): 短():短 to...

作者简介:CSDN博客专家、华为云享专家认证

系列专栏:Kotlin 初学者

学习交流:三人行必有我师焉;择其善者而从之,其不善者而改之。

目录

前言

String转Int

Double转Int

Double类型格式化


前言

  • 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

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。