办法,使用parseInt(var i)强制转型。
因为js中变量是可以任意赋值的(不用担心类型),但是int型一旦被改为字符串后,在调用int的加法运算时,就会变成了字符串的连接运算。如下所示:
<script language="javascript"><!--
var i=1
alert(i+1)//结果为2
var j="1"
alert(j+1)//结果为11
//-->
</script>
此时如果想要将j转换为int并且执行加法,需要将j强制转换为int,具体方法如下:
alert(parseInt(j)+1)此时的结果就会是2了。
javascript 本身就是弱类型的语言,通常情况下,不用自己刻意去转。例如:
var i = 100
var s = i + "abc"
var s1 = i + ""
这种都是OK的
首先,需要将科学计数法转换成一下:例如:BigDecimal bd = newBigDecimal("3.40256010353E11")然后转换成字符串:String str = bd.toPlainString()如果这个数字的长度是在int的范围内的话,是可以转换成int类型:int a = Integer.parsInt(str)如果这个数字的长度不是在Int范围内的话,得到的就不是你想要的数字了。数字在以浮点数储存到内存中后超出精度外的数据都丢失了呀,还能有方法找回?单精度4字节32位双精度8字节64位他们所能表达的十进制有效数字就是7位或者15位,不可能再多,否则就不是浮点数了。