2.3 二进制浮点数和四舍五入错误

2.3 二进制浮点数和四舍五入错误
问题一:二进制浮点数和四舍五入错误

js采用IEEE-754浮点数表示法(几乎所有现代编程语言采用),这是一种二进制表示法,可以精确的表示分数如 1/2、1/4、1/8和1/1024。但遗憾的是我们经常用的分数(特别是金融方面)都是十进制分数1/10、1/100等。二进制浮点数表示法并不能精确表示累0.1这简单的数字。

js中的数字具有足够的精度,并可以即期近似于0.1。但数字不能精确表述的确带来一些问题。如

var x = 0.3-0.2

var y = 0.2-0.1

x == y //false两值不相等

由于舍入误差。0.3-0.2的近似差值使劲上并不等于02.-0.1的近视差。但x和y的值非常接近彼此和最终的正确值。

2.4 日期计算函数
问题一:日期计算函数

Date()构造函数,用来创建表示日期和时间的对象。
var then = new Date(2011,0,1) // 2011年1月1日
var later = new Date(2011,0,1,17,10,30) // 2011年1月1日 17:10:30
var now = new Date() //当前的日期和时间
var elapsed = now-then // 日期减法:计算时间间隔的毫秒数。
later.getFullYear() //2011
later.getMonth() // 0,从0开始计数的月份
later.getDate() // 1,从1开始计数的天数
later.getHours() //当地时间 17:5
later.getUTCHours() 使用UTC表示小时的事件,基于时区。

2.5 字符串常用的方法
问题一:字符串常用的方法

字符串是一组由16位值组成的不可变的有序序列,
每个字符通常来自于Unicode字符集。
(1)字符串链接 +;
msg="Hello,"+"world" // 生成字符串 "Hello, world";
greeting = "Welcome to my blog,"+""+name;
(2)方法。
var s = "Hello,world"; //定义一个字符串。
s.charAt(0) //"h" 第一个字符
s.charAt(s.length-1) // "d" 最后一个字符
s.substring(1,4) // "ell" 第2~4个字符
s.slice(1,4) // "ell" 同上
s.slice(-3) // "rld" 最后三个字符
s.indexof("1") // 2 字符1首次出现的位置。
s.lastIndexOf("l") // 10 字符l最后一次出现的位置。
s.indexOf("l",3) // 3 在位置3及之后首次出现字符l的位置。
s.split(",") // ["hello","world"] 分割成子串。
s.replace("h","H") // "Hello,world" 全文字符替换
s.toUpperCase() // "HELLO,WORLD"

你可能感兴趣的:(2.3 二进制浮点数和四舍五入错误)