JavaScript SpeechSynthesisUtterance
JavaScript SpeechSynthesisUtterance
为什么 SpeechSynthesisUtterance.volume 属性 return "0.4000000059604645" 设置为 ".4" 时?
var u = new SpeechSynthesisUtterance();
u.volume = .4;
console.log(u.volume);
var u = new SpeechSynthesisUtterance();
u.volume = .4;
console.log(u.volume);
.volume
属性 被指定存储 as a "float", which means 它是按照单精度 32 位 IEEE 754 存储的。
如果你 plug in 0.4,你得到 0x3ecccccd 的十六进制值,当转换回十进制时,它是 0.4000000059604645(由于不精确)。
这与普通的 JavaScript 数字形成对比,后者存储为双精度 64 位数字(因此具有更准确的尾随数字)。
为什么 SpeechSynthesisUtterance.volume 属性 return "0.4000000059604645" 设置为 ".4" 时?
var u = new SpeechSynthesisUtterance();
u.volume = .4;
console.log(u.volume);
var u = new SpeechSynthesisUtterance();
u.volume = .4;
console.log(u.volume);
.volume
属性 被指定存储 as a "float", which means 它是按照单精度 32 位 IEEE 754 存储的。
如果你 plug in 0.4,你得到 0x3ecccccd 的十六进制值,当转换回十进制时,它是 0.4000000059604645(由于不精确)。
这与普通的 JavaScript 数字形成对比,后者存储为双精度 64 位数字(因此具有更准确的尾随数字)。