跳到主要内容

JavaScript Math对象之fround()方法

Math.fround() 方法返回一个数字最接近的 32 位单精度浮点数表示。

示例

// 计算 5.05 最接近的 32 位单精度浮点数表示
var num = Math.fround(5.05);

console.log(num);

// 输出:5.050000190734863

fround() 语法

fround() 方法的语法是:

Math.fround(doubleFloat);

这里,fround() 是一个静态方法。因此,我们需要使用类名 Math 来访问此方法。

fround() 参数

fround() 方法接受:

  • doubleFloat - 一个数字。

fround() 返回值

fround() 方法返回:

  • 给定数字最接近的 32 位单精度浮点数表示。
  • 对于非数值参数返回 NaN

示例 1:JavaScript Math.fround()

// 找出 1.5 最接近的 32 位单精度浮点数表示
var num1 = Math.fround(1.5);

console.log(num1);

// 找出 1.337 最接近的 32 位单精度浮点数表示
var num2 = Math.fround(1.337);

console.log(num2);

输出

1.5;
1.3370000123977661;

在上述示例中,

  • Math.fround(1.5) 计算 1.5 最接近的 32 位单精度浮点数表示
  • Math.fround(1.337) 计算 1.337 最接近的 32 位单精度浮点数表示

注意: JavaScript 内部使用 64 位 双精度浮点数。

在上述示例中,我们可以看到,那些能在二进制数制中完美表示的数字(如 1.5)在 32 位单精度浮点数表示中保持不变。

然而,那些无法完美表示的数字(如 1.3375.05)在 32 位和 64 位中有所不同。

示例 2:fround() 与大数字

// 找出 2 ** 130 最接近的 32 位单精度浮点数表示
var num = Math.fround(2 ** 130);

console.log(num);

// 输出:无穷大

在上述示例中,我们使用了 Math.fround() 来计算极大数字 2 ** 130 的最接近的 32 位单精度浮点数表示,该数字为 1.361129467683754e+39

输出表明对于极大的数字结果为 无穷大

推荐阅读: