kotlin---类型转换

基本类型转换

        类型转换和Java是有一些区别的,不再有**【String. valueOf】【Integer.valueOf】**这类转换函数,而是改成了【to】形式(直接变量后面点to出来)。如:

                var a=“1234”

                var b=a.toInt()

  • toByte(): Byte,转为字节
  • toShort(): Short,转为短整型
  • toInt(): Int,转为整型
  • toLong(): Long,转为长整型
  • toFloat(): Float,转为浮点型
  • toDouble(): Double,转为双浮点型
  • toChar(): Char,转为字符型

例子:

整数转换为字符串:
val number = 123
val str = number.toString()


字符串转换为整数 (可以指定基数):
val str = "123"
val number = str.toInt() // 默认十进制
val numberHex = str.toInt(16) // 十六进制


浮点数转换为字符串:
val float = 123.45f
val str = float.toString()


字符串转换为浮点数:
val str = "123.45"
val float = str.toFloat()


字符转换为整数:
val char = 'A'
val int = char.code


整数转换为字符:
val int = 65
val char = int.toChar()

数字类型转换

浮点型数据可以使用toInt()方法转换为整型,但这种转换是直接截断小数部分,不进行四舍五入。如果需要对浮点数进行四舍五入到最接近的整数,可以使用roundToInt()方法。

val floatNumber = 3.7
 
// 直接截断小数部分
val intNumber1 = floatNumber.toInt() // 结果为3
 
// 四舍五入到最接近的整数
val intNumber2 = floatNumber.roundToInt() // 结果为4

toInt()方法没有参数,

roundToInt()方法可以接收一个小数点后保留的小数位数作为参数,例如roundToInt(1)可以四舍五入到十分位。

val floatNumber = 3.76
 
// 四舍五入到一个十分位
val intNumber = floatNumber.roundToInt(1) // 结果为38

科学计数法格式

kotlin 科学计数法转为String

在Kotlin中,你可以使用String.format()方法来将一个浮点数按照科学计数法格式化为一个字符串。例子:

fun formatScientific(number: Double, precision: Int = 2): String {
    return String.format("%.$precisione", number)
}
 
fun main() {
    val number = 12345.6789
    val formatted = formatScientific(number)
    println(formatted) // 输出可能类似于 "1.23e+04"
}

kotlin 科学计数转为全部显示

在Kotlin中,你可以使用BigDecimal类来处理科学记数法的数值,并将其转换为不带科学记数法的表示形式。以下是将字符串形式的科学记数法数值转换为全格式表示的示例代码:

import java.math.BigDecimal
 
fun formatScientificNumber(scientificNotation: String): String {
    val bigDecimal = BigDecimal(scientificNotation)
    return bigDecimal.toPlainString()
}
 
fun main() {
    val scientificNotation = "1.23e+04"
    val formattedNumber = formatScientificNumber(scientificNotation)
    println(formattedNumber) // 输出: 12300
}

结束。后续想到会继续补充。

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值