猿问

为什么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进制,就会出现这种问题。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答