Scala中如何进行数值转换

问题

在Scala中如何进行数值转换?比如Int类型转换为Long类型,Int类型转换为Double类型等等。

解决方案

不同于Java中的”强制转换”方法,Scala为所有数值类型提供了to*方法来实现数值类型之间的转换。示例如下:

scala> val b = a.to[Tab]
toByte     toChar     toDouble   toFloat    toInt      toLong
toShort    toString

scala> 19.45.toInt
res0: Int = 19

scala> 19.toFloat
res1: Float = 19.0

scala> 19.toDouble
res2: Double = 19.0

scala> 19.toLong
res3: Long = 19

scala> val b = a.toFloat
b: Float = 1945.0

如果你想要避免潜在的转换异常,在进行转换之前,你可以使用isValid方法来验证是否可以进行类型转换。例如Double对象有isValidInt和isValidShort之类的方法:

scala> val a = 1000L
a: Long = 1000

scala> a.isValidByte
res0: Boolean = false

scala> a.isValidShort
res1: Boolean = true

编译自:How to convert between numeric types in Scala

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值