作者简介: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

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐