【Kotlin 初学者】数

简介: 前言toByte():字节():字节toShort(): 短():短toInt(): 整数():整数toLong(): 长():长toFloat(): 浮动():浮动toDouble(): 双倍():双toChar(): 字符():字符

作者简介: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())//报错
}


微信图片_20220524235250.png


解决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
相关文章
|
存储 网络协议 安全
使用 NetCat 工具实现远程文件传输
NetCat(NC)是一个通过 TCP/UDP 在网络中进行读写数据工具,主要用于调式领域,传输领域甚至黑客攻击领域。利用 NetCat 工具,可以将网络中的完整数据发送至另一台主机终端显示或存储,常见的应用为文件传输、与好友即时通信、传输流媒体等功能。
1028 0
使用 NetCat 工具实现远程文件传输
|
7月前
|
机器学习/深度学习 人工智能 自然语言处理
深入解析:AI如何生成文章的奥秘与技术实现
AI生成文章技术历经规则模板、统计模型到深度学习的演进,尤其Transformer架构推动其飞跃发展。如今,AI已广泛应用于新闻、营销、创作等领域,提升效率的同时,也面临事实准确性、伦理等挑战。未来将趋向人机协同、多模态融合与负责任发展,重塑内容生态。
1046 0
|
5月前
|
IDE 开发工具 Swift
Xcode 26.4 (17E192) 发布 - Apple 平台 IDE
Xcode 26.4 (17E192) 发布 - Apple 平台 IDE
905 1
|
8月前
|
关系型数据库 MySQL Serverless
阿里云企业用户注册账号、优惠券领取、云服务器购买详细步骤流程(图文)
阿里云账号怎么注册?阿里云服务器怎么购买?好多同学都不清楚,今天写一篇文章进行系统性的介绍。最新阿里云企业用户注册流程,一键注册阿里云账号、快速通过企业实名认证,免费领取企业上云补贴折扣券、代金券、抵扣金、算力补贴及免费试用机会,这篇文章整理阿里云企业用户注册流程、所需材料及问题解答FAQ。
|
5月前
Dataphin登录系统重磅升级:界面化SSO配置、多账号登录功能上线
Dataphin V6.0推出界面化SSO配置与多账号体系登录功能,支持CAS、OAuth2.0、SAML、飞书等多种协议,解决旧版配置复杂、不支持多源登录等痛点,提升企业单点登录体验与管理效率。
448 0
|
机器学习/深度学习 算法 关系型数据库
Python循环进阶:嵌套与控制的深度解析
本文深入探讨Python中嵌套循环的原理与应用,从数学模型到工程实践全面解析。内容涵盖嵌套循环的本质(如笛卡尔积实现、变量作用域)、精细控制技巧(如break/continue、迭代器协议、异常处理),以及性能优化策略(预计算、向量化等)。同时结合树形结构遍历、动态规划、游戏开发等典型场景,提供最佳实践建议。掌握这些技巧,助你突破编程瓶颈,实现复杂问题的优雅解决。
472 6
|
机器学习/深度学习 人工智能 算法
ChatGPT是如何训练得到的?通俗讲解
ChatGPT是如何训练得到的?通俗讲解
|
负载均衡 Cloud Native 容灾
阿里云负载均衡SLB价格_ALB、NLB和CLB区别_负载均衡详细介绍
阿里云负载均衡SLB提供ALB、NLB和CLB三种类型,分别适用于7层和4层的不同场景。ALB与NLB仅支持按量付费,而CLB则额外提供包年包月选项。ALB强调7层应用处理与高级路由,NLB聚焦4层的大流量处理与SSL卸载。两者均支持自动弹性伸缩,确保高可用性和性能。CLB作为传统负载均衡,适用于特定需求。每种类型依据实例规格与使用量收费,其中公网实例还需支付网络费用。通过这些服务,用户可以实现流量分发、故障转移及提升应用系统的稳定性和扩展性。
|
存储 数据挖掘 Python
Python技术分享:实现选择文件或目录路径的方法
Python技术分享:实现选择文件或目录路径的方法
1562 2
|
Java Spring
Spring Boot Application in default package
Spring Boot Application in default package

热门文章

最新文章