【发布时间】:2018-06-21 06:21:01
【问题描述】:
需要能够将 00000924843571390729101 或 2.71000000000000000E+02 转换为 Long 预计 2.71000000000000000E+02 变为 271
funky results for this: 00000924843571390729101 became 924843571390729088
val signNumber = "00000924843571390729101"
val castnum = signNumber.toDouble.toLong.toString
下面的第一个转换适用于 2.71000000000000000E+02,第二个适用于 00000924843571390729101
val castnum = signNumber.toDouble.toLong.toString
val castnum = signNumber.replaceAll("\\.[0-9]*$", "").toLong.toString
不想保留任何小数位所以不要使用 java.math.BigDecimal
输入字符串可能以 9028456928343.0000 的形式出现,在这种情况下希望 9028456928343 作为 Long
【问题讨论】:
标签: java scala long-integer biginteger bigdecimal