浮点数有精度误差,那么怎么看浮点数在内存中存的值是多少

科牛

关注

阅读 13

05-16 12:00


这里用 decimal.js 库

npm install decimal.js

const floatNum = 22.405
    // 这里不用 Decimal.toBinary, 因为toString 更准确
    const binaryString = '0b' + floatNum.toString(2)  // 将小数转为二进制
    console.log(binaryString) // 0b10110.011001111010111000010100011110101110000101001
    let decimalValue = new Decimal(binaryString, 2).toString(); // 直接从二进制转换并创建Decimal对象
    console.log(decimalValue); // 22.405000000000001136868377216160297393798828125

故 22.405 浮点数内存中存的值大概为 22.405000000000001136868377216160297393798828125

精彩评论(0)

0 0 举报