1.现象:
明明只有一位小数,但是最后出来很多位
0.1 + 0.7 = 0.799999999999999
2.原因:
计算机最终执行或识别的符号只有0和1,二进制
计算机中有一套完善的转换机制,所有内容,不管是文字,字符,任何数据,图片,声音,视频,最终都会被解析成二进制
计算机对于小数的计算,会产生误差
3.解决
主动保留n为小数,得到数据类型是字符
num = num.toFixed(n);
转成数值
num = Number(num)
;
三元运算符:
- 语法:
条件 ? 条件为真,值1 : 条件为假,值2; - 注意:
三目其实就是一种简写方式,如果不能简写,那就不用三目
三目是个表达式,表达式最终会计算出一个值 - 应用:
var n = 16;
var m = n>10 ? n.toString() : “0” + n;
console.log(m);