猿问
为什么js里面 0.1+0.2=0.30000000000000004?
var a =0.1;
var b =0.2;
log(a+b)//0.30000000000000004
这是什么原因
梵蒂冈之花
浏览 364
回答 1
1回答
三国纷争
本质是因为浮点数的问题。其实不用想的太复杂,你把0.1换算成二进制的形式就知道,它的二进制表示是一个无限循环的数。也就说实际上保存到内存里的0.1是一个近似值。然后一个近似于0.1的二进制数再转回10进制,就会出现这种问题。
0
0
0
随时随地看视频
慕课网APP
相关分类
JavaScript
我要回答