怎么让js不自动转换成科学计数法?

JavaScript016

怎么让js不自动转换成科学计数法?,第1张

js把科学计数法表示的字符串转化为数值的方法,比较简单的办法如下

<script>

functiondoIt(){

varnum=newNumber("3.4556645445E7")

alert(num)

}

</script>

把一个大于10(或者小于1)的整数记为a×10^n的形式(其中|1|≤|a|<|10|),这种记数法叫做科学记数法。

科学记数法

科学记数法

太阳半径、1纳米与科学记数法

我们知道太阳是地球的母亲,她把阳光洒向地球,给我们带来光明和温暖,她的半径大约为696000千米.

纳米(nm)如同厘米、分米和米一样,是度量长度的单位,一纳米等于10亿分之一米,将一纳米的物体放到乒乓球上,就相当于把一个乒乓球放在地球上一样,你能想象出一纳米是一个多么小的长度吗?

如果请你把太阳半径与1纳米的长度相比较是不是会感到你为难?但是借助于科学记数法就可以化难为易了!

首先,需要将科学计数法转换成一下:

例如:

BigDecimal bd = new            BigDecimal("3.40256010353E11")

然后转换成字符串:

String str = bd.toPlainString()

如果这个数字的长度是在int的范围内的话,是可以转换成int类型:

int a = Integer.parsInt(str)

如果这个数字的长度不是在Int范围内的话,得到的就不是你想要的数字了。

数字在以浮点数储存到内存中后超出精度外的数据都丢失了呀,还能有方法找回?

单精度4字节32位

双精度8字节64位

他们所能表达的十进制有效数字就是7位或者15位,不可能再多,否则就不是浮点数了。