【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值。


  
  1. fun main() {
  2.     var str = "1223"
  3.     println(str.toInt())//1223
  4.     str = "3.1415926"
  5.     println(str.toInt())//报错
  6. }

        解决NumberFormatException异常:

        使用toIntOrNull()安全转换:将字符串解析为Int数字,如果字符串不是数字的有效表示形式,则返回结果"null",而不是程序崩溃。


  
  1. fun main() {
  2.     //String转Int
  3.     var str = "1223"
  4.     println(str.toInt())//1223
  5.     str = "3.1415926"
  6.     //报错java.lang.NumberFormatException: For input string: "3.1415926"
  7.     //println(str.toInt())
  8.     println(str.toIntOrNull())//null
  9.     str = "18"
  10.     println(str.toIntOrNull())//18
  11. }

        所以当使用数字类型转换的时候 尽量使用toIntOrNull(),而不是toInt()。

Double转Int


  
  1.     //Double转Int
  2.     var d = 3.1415926
  3.     println(d.toInt())//3
  4.     println(d.roundToInt())//3(四舍五入)
  5.     d = 3.5415926
  6.     println(d.roundToInt())//4(四舍五入)
  7.     println(d.toInt())//3

注意:用roundToInt()函数,保证Double转Int持有四舍五入的效果

Double类型格式化

        格式化字符串是一串特殊字符,它决定该如何格式化数据。这个功能在实际开发当中比较常用。


  
  1.     //Double类型格式化
  2.     var s: String = "%.1f".format(d)//保留一位小数(且支持四舍五入)
  3.     println(s)//3.5
  4.     d = 3.1415926
  5.     s = "%.1f".format(d)//保留一位小数(且支持四舍五入)
  6.     println(s)//3.1
  7.     s = "%.2f".format(d)//保留两位小数(且支持四舍五入)
  8.     println(s)//3.14
  9.     s = "%.3f".format(d)//保留三位小数(且支持四舍五入)
  10.     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个月内不可修改。