基本类型转换
类型转换和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
}
结束。后续想到会继续补充。