使用 JavaScript 数学将字节转换为千兆字节
Posted
技术标签:
【中文标题】使用 JavaScript 数学将字节转换为千兆字节【英文标题】:convert Bytes into Gigabytes with javascript math 【发布时间】:2015-11-20 23:20:43 【问题描述】:我的网络应用程序允许用户上传文件。我能够以字节为单位找到这些文件的大小。但是我需要在后端使用 javascript 将此数字转换为千兆字节。有谁知道公式以及如何使用 javascript 执行此任务?
例如:现在我的文件大小是 626581571 字节。
【问题讨论】:
你给的值只有597.55MB。您希望它显示为 gb 值吗? @jeff : 他给出的值是626.58 MB
,或者597.55 MiB
。 :)
@Yuriko,操作系统(至少是 Windows)使用 1024 字节的值,而不是似乎已经进入行业的人造 1000。
@jeff,“千”一直是“一千”。公里 = 1000 米。公斤 = 1000 克。所以“人造”1000根本不是人造的。当涉及到字节时,认为“kilo-”将其含义更改为 1024 只是无知或愚蠢。
【参考方案1】:
1 KB = 1024 字节、1 MB = 1024 KB、1 GB = 1024 MB,分别为file_size_gb = 626581571 / 1024 / 1024 / 1024
。
或者在下面的评论中说,file_size_gb = 626581571 / Math.pow(1024, 3)
【讨论】:
或var file_size_gb = 626581571 / Math.pow(1024, 3)
实际上,取决于系统和制造商,它可能是 1000 而不是 1024(但两者都可能)
他要求的是 千兆字节 (GB),而不是 千兆字节 (GiB)。【参考方案2】:
1 KB = 1000 字节
这是基本数学:
1 GB = 1 000 MB = 1 000 000 KB = 1 000 000 000 B
626 581 571 B = 0.626 GB
因此,您只需除以 109
function byteToGigaByte(n)
return (n / Math.pow(10,9));
1 KiB = 1024 字节
也许您的意思是 gibibyte 而不是 gigabyte?
再一次,这是基本的数学:
1 GiB = 1024 MiB = 1024 * 1024 KiB = 1024 * 1024 * 1024 B
= 1073741824 B
626 581 571 B = 0.583 GiB
这次需要除以230
function byteToGibiByte(n)
return (n / Math.pow(2,30));
注意 gigabyte 和 gibibyte 之间的细微差别:1 GB = 0.931 GiB
。
【讨论】:
以上是关于使用 JavaScript 数学将字节转换为千兆字节的主要内容,如果未能解决你的问题,请参考以下文章