单位转换器 - 长度、重量、温度和数据大小 在线工具
即时转换长度、重量、温度、数据大小、速度、时间、面积和体积单位。二进制/十进制切换 — 100%客户端处理,无数据发送到服务器。
常见问题
什么是单位转换器?
单位转换器是一种将测量值从一个单位转换为同一类别中另一个单位的工具。例如,将100厘米转换为1米(长度),1千克转换为2.205磅(重量),或0摄氏度转换为32华氏度(温度)。此工具支持8个类别:长度、重量/质量、温度、数据大小、速度、时间、面积和体积,涵盖公制(SI)和英制测量系统。
如何使用这个单位转换器?
1. 选择转换类别标签(如:长度、数据大小、温度)。2. 在输入框中输入数值。3. 从下拉菜单选择「从」单位。4. 从下拉菜单选择「到」单位。5. 输入时结果立即显示。6. 使用交换按钮反转转换方向。7. 查看下方「所有单位」面板以查看该类别中每个单位的值。8. 点击复制按钮将结果复制到剪贴板。
我的数据安全吗?会发送到服务器吗?
所有单位转换都使用纯JavaScript数学在您的浏览器中100%执行。没有任何数据传输到任何服务器。该工具使用完全在您设备上运行的简单算术公式。您的输入值永远不会离开浏览器,使此工具完全私密和安全。
二进制(1024)和十进制(1000)数据单位有什么区别?
在计算中,数据大小单位有两种标准。二进制(IEC)标准使用1024的幂次:1 KiB = 1,024字节,1 MiB = 1,048,576字节,1 GiB = 1,073,741,824字节。这与计算机实际分配内存的方式相匹配。十进制(SI)标准使用1000的幂次:1 KB = 1,000字节,1 MB = 1,000,000字节,1 GB = 1,000,000,000字节。由于开发人员最常使用base-1024值,工具默认为二进制模式。
为什么温度转换使用公式而不是简单的乘法?
温度标度不成比例——它们有不同的零点和不同的标度大小。摄氏度和华氏度是偏移标度(0°C = 32°F),因此转换需要乘法和加法:°F = °C × 9/5 + 32。开尔文是绝对标度,其中0K是绝对零度(−273.15°C),需要加法偏移:K = °C + 273.15。这与单位之间是简单倍数关系的长度或重量转换不同。
转换有多精确?
该工具使用IEEE 754双精度浮点运算,提供约15-17位有效十进制数字的精度。转换因子来源于国际标准(BIPM SI定义、NIST)。您可以使用精度选择器将显示的小数位数从0调整到10,或使用「自动」模式显示最多6位有效数字并去除尾随零。
此工具对月和年使用什么假设?
为简单和可预测性,该工具将1个月定义为30天,1年定义为365天。这些是工程和开发环境中使用的标准近似值。实际日历月从28天到31天不等,实际年可能是365天或366天。对于精确的基于日历的计算,请使用专用的日期/时间计算器。
代码示例
// Unit conversion utilities
function convert(value, fromUnit, toUnit, factors) {
const baseValue = value * factors[fromUnit];
return baseValue / factors[toUnit];
}
// Length factors (base: meter)
const lengthFactors = {
mm: 0.001, cm: 0.01, m: 1, km: 1000,
in: 0.0254, ft: 0.3048, yd: 0.9144, mi: 1609.344,
};
console.log(convert(100, 'cm', 'm', lengthFactors)); // 1
console.log(convert(1, 'mi', 'km', lengthFactors)); // 1.609344
// Temperature (special formulas)
function convertTemperature(value, from, to) {
let celsius;
if (from === 'C') celsius = value;
else if (from === 'F') celsius = (value - 32) * 5 / 9;
else if (from === 'K') celsius = value - 273.15;
if (to === 'C') return celsius;
if (to === 'F') return celsius * 9 / 5 + 32;
if (to === 'K') return celsius + 273.15;
}
console.log(convertTemperature(100, 'C', 'F')); // 212
console.log(convertTemperature(32, 'F', 'C')); // 0
// Data size with binary/decimal toggle
function convertDataSize(value, fromUnit, toUnit, binary = true) {
const base = binary ? 1024 : 1000;
const units = ['B', 'KB', 'MB', 'GB', 'TB', 'PB'];
const fromIndex = units.indexOf(fromUnit);
const toIndex = units.indexOf(toUnit);
return value * Math.pow(base, fromIndex - toIndex);
}
console.log(convertDataSize(1, 'GB', 'MB', true)); // 1024
console.log(convertDataSize(1, 'GB', 'MB', false)); // 1000