gpt4 book ai didi

node.js - 为什么 "fs"模块上的截断函数仅适用于整数

转载 作者:太空宇宙 更新时间:2023-11-04 03:14:59 25 4
gpt4 key购买 nike

只要在长度参数上提供 float ,截断函数就会给出范围错误,并迫使我解析整数。当我想要获取文件大小的一小部分时,这不够精确。

fs.truncate(filePath, stats.size/2,(err)=>{
if(err) throw err
})

RangeError [ERR_OUT_OF_RANGE]: The value of "len" is out of range. It must be an integer. Received 513.5
at Object.truncate (fs.js:613:3)

这迫使我使用

fs.truncate(filePath, parseInt(stats.size/2),(err)=>{
if(err) throw err
})

最佳答案

Why is it that the truncate function on the “fs” module only works with integers

因为文件长度仅以整数指定。文件长度中不存在小数字节数之类的东西。您不能拥有 2.5 字节长的文件。

如果您不传递整数,那么您想要执行的操作的含义就不清楚。由于文件只能是整数,你希望你的小数值向上舍入、向下舍入吗?目前还不清楚。所以,你必须准确地指定你想要什么。

仅供引用,parseInt()实际上并不是正确使用的函数。您应该根据您想要的行为使用 Math.round()Math.floor()Math.ceil()

关于node.js - 为什么 "fs"模块上的截断函数仅适用于整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57933267/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com