Command Palette

Search for a command to run...

單位轉換器:長度、重量、溫度和資料的精確轉換

單位轉換器:長度、重量、溫度和資料的精確轉換

T
Toolz Team
|Jul 16, 2026|17 閱讀

轉換器 合集的一部分

單位本身定義於 SI 手冊,以及引起此特定參數的二進位前綴 - kibi、mebi、gibi - in IEC 80000-13.

我曾經發布過一個由 24 位元組引起的錯誤。 Laravel 應用程式中的儲存配額檢查比較了上傳的檔案和#39; s 大小與產品團隊寫入的限制為 "500 MB。"上傳者報告兆位元組為 MiB。該限制以十進位 MB 執行。兩者之間的差距約為 4.6%,這在測試中是不可見的,當客戶&#39 時則極其明顯; 512,000,000 位元組匯出被拒絕為 "太大&報價;而UI堅稱它已低於限制。

單位轉換看起來像是計算中最無聊的問題,直到它悄悄地損壞了某些東西。每次轉換都有一個精確定義的因子 - 一英寸是 完全正確 0.0254米,一磅 完全正確 0.45359237 公斤 - 我們弄錯它們的原因是我們攜帶了圓形近似值。所以我建造了 單位轉換器 在[toolz。dev] 上(/圍繞定義的值,涵蓋我實際達到的十一個類別,包括大多數轉換器忽略的類別:CSS 像素、印刷點以及導致我的錯誤的二進制與十進制資料單元。

TL;DR: 類別中的每個單位都是一個基本單位的固定倍數,因此轉換是單次乘除法 - 除了溫度,溫度需要仿射變換,因為攝氏度、華氏度、開爾文和朗肯有不同的零點。這 單位轉換器 涵蓋長度、重量、溫度、面積、體積、速度、時間、數據、壓力、能量和角度,並具有精確的標準係數,同時顯示每個單元中的值,並完全在瀏覽器中運行。

單位轉換實際上如何運作?

每個類別選擇一個基本單位。將所有其他單位表示為與其的比率。然後轉換減少到一行算術:

result = value × (fromUnit.ratio / toUnit.ratio)

對於長度,底邊為米。公分的比率為 0.01,英吋的比率為 0.0254。 30 公分轉換為英吋 30 × 0.01 / 0.0254 = 11.811. 這就是整個演算法,它有一個有用的屬性:因為每個轉換路線都經過基本單位,所以你永遠不會鏈近似值。將英里轉換為海裡在一個表達式中會變成英里 → 米 → 海裡,而不是透過成對因子的查找表,每個因子都有自己的舍入。

中的基本單位 單位轉換器 存在的是 SI:米、公斤、秒、帕斯卡、焦耳、弧度、平方公尺、米每秒。體積使用升,資料使用位元組,兩者都是為了可讀性而不是嚴格的 SI 純度。

溫度是破壞模型的例外,原因值得理解。

為什麼溫度與其他單位不同?

因為溫標是 仿射,不 成比例的. 零公分和零英吋的長度相同--什麼都沒有。但零攝氏度和零華氏度不是相同的溫度,它們都不是"根本沒有溫度。"這些秤既有不同的步長,也有不同的起源。

因此,溫度轉換需要兩個操作,而不是一個:移動原點,然後縮放。標準公式:

  • °F = (°C × 9/5) + 32
  • °C = (°F - 32) × 5/9
  • K = °C + 273.15
  • °R = K × 9/5

在內部,轉換器將所有內容路由通過開爾文,開爾文是四個中唯一一個具有物理意義的零 - 絕對零,即熱運動停止的點。這也提供了免費的有效性檢查:如果轉換產生負開爾文值,則輸入低於絕對零度並且不是真實溫度。該工具會拒絕它並做出解釋,而不是自信地返回廢話,這是一種小誠實,它將您可以信任的工具與您必須仔細檢查的工具分開。

人們實際查找的數字的快速參考:

攝氏度 華氏度 凱爾文 它是什麼
-273.15 °C -459.67 °F 0K 絕對零度
-40 °C -40 °F 233.15 K 兩個鱗片交叉的地方
0 °C 32 °F 273.15 K 水結冰了
20°C 68 °F 293.15 K 室溫
37°C 98.6 °F 310.15 K 人體
100°C 212 °F 373.15 K 水在海平面沸騰

-40 交叉是值得記住的。這是攝氏度和華氏度唯一一致的一點,它對您編寫的任何轉換例程進行良好的理智檢查。

MB和MIB有什麼區別?

這種轉換需要花費真正的金錢和真正的錯誤搜尋時間,因此它值得擁有自己的部分。

一個 兆位元組 (MB) 是 1,000,000 位元組 - 十進制單位,106。 A mebibyte (MiB) 是 1,048,576 位元組 - 二進位單位,2²0。 IEC 於 1998 年對二進位前綴(kibi、mebi、gibi、tebi)進行了標準化,正是為了結束歧義,但大約一半的行業忽略了它們。

結果是每個人都感覺到一團糟:

已登廣告 實際位元組數 作業系統顯示的內容 表觀&報價;損失&報價;
1 kB 1,000 0.98 KiB 2.4%
1 MB 1,000,000 0.95 米布 4.6%
1 GB 1,000,000,000 0.93 吉布 7.4%
1 結核病 1,000,000,000,000 0.91 鈦B 9.9%

驅動器製造商以十進制單位銷售,因為十進制使數字更大。 Windows 以二進位單位報告,但標記它們 "GB,"這就是 &quot 的位置;我的 1 TB 磁碟機只有 931 GB"投訴來自 - 沒有遺漏任何內容,標籤只是錯誤的。 macOS 和大多數 Linux 工具現在都誠實地報告十進制 GB。 RAM 始終是二進制的,因為記憶體尋址本質上是二進制的。網路速度是十進制的 以位元為單位測量,這是第三個混淆軸:a "100 Mbps"連接每秒提供約 12.5 MB,而不是 100 MB。

我遵循的實用規則是:

  1. 在程式碼中,工作 位元組. 僅在顯示層轉換。
  2. 當您在規格中寫入限制時,請在括號中寫入位元組數:"500 MB(500,000,000 位元組)。"
  3. 如果您的 API 合約顯示 MB,請選擇十進制,因為這就是標籤在 Windows 之外的含義。
  4. 切勿假設其他系統與您的系統一致。檢查。

單位轉換器 在資料類別中並排列出兩個系列,因此您可以看到差距而不是猜測。如果您正在使用原始位元組值並希望看到它們的位元級別,則 二進制翻譯 是配套工具。

人們實際上需要哪些轉換?

在觀察了被搜尋的內容以及我自己得出的內容後,這個清單很短且是可預測的。以下是值得冷知的內容,其中包含確切的因素而不是近似值:

轉換 精確因子 快速心理數學
厘米 → 英寸 國際米蘭2.54 減半,然後減20%
在 → 公分 × 2.54 加倍,增加25%
公里 → 英里 × 0.621371 乘以0.6,加一點
英里 → 公里 × 1.609344 增加60%
公斤→磅 × 2.20462262 加倍,加10%
磅→公斤 × 0.45359237 減半,減10%
°C → °F × 1.8 + 32 加倍,加 30(粗)
公里/小時 → 英里/小時 × 0.621371 與 km → mi 相同的因子
L → 美國女孩 檢索日期:3.785411784 除以 4,加一點
MB → MiB 檢索日期:1.048576 減去約4.6%

心理數學欄故意粗略--足以理智地檢查結果,但不足以運送。區別很重要:&報價;加倍並增加 10%&報價;將 70 公斤變成 154 磅,這在一克之內是正確的。但應用於 2,000 公斤的貨物時,它會漂移,並應用於劑量計算,這是不可接受的。使用啟發式方法捕獲錯誤的數量級;使用實際答案的精確因子。

這些換算係數是精確的還是四捨五入的?

沒錯,這是一個比聽起來更有趣的事實。

自 1959 年《國際碼和英鎊協定》以來,英制單位為 定義 就公制而言。英吋不是根據儀表測量的;它宣稱恰好是 0.0254 m。磅恰好是 0.45359237 kg。美國加侖恰好是 3.785411784 L。這些數字沒有實驗上的不確定性 - 它們是定義,就像一分鐘有 60 秒的事實一樣。

各類別也是如此:

  • 1 英畝 = 4046.8564224 平方米(確切)
  • 1 psi = 6894.757293168 Pa(正好遵循磅和英吋)
  • 1 BTU = 1055.05585262 J(國際表定義)
  • 1 kWh = 3,600,000 J(確切地說,因為瓦是焦耳每秒)
  • 1 海浬 = 1852 m(確切地說,根據 1929 年的國際協議)

有些單位確實是慣例而不是定義,誠實的工具也這麼說。 &引用;月&引用;不是固定數量 - 轉換器使用 30 天,因為您必須選擇一些東西,並且 "年&引用; 365 天忽略閏年。馬赫數取決於空氣溫度和壓力;轉換器使用 20 °C 時約 343 m/s 的海平面數字。如果您需要精確的日期算術而不是標稱因子,請使用 日期差計算器,它計算實際日曆天數而不是乘以 30。

單位轉換器 儲存定義的值並僅輪換 顯示,到八位有效數字。算術本身是以完全雙精度完成的,因此鍊式轉換不會累積可見誤差。

我可以將 CSS 像素轉換為毫米嗎?

是的,這是我作為前端開發人員最常使用的轉換之一,這就是為什麼它與實體單元一起屬於長度類別。

CSS 規範定義了 參考像素 作為 1/96 英寸。這使得 96 px 正好為 25.4 毫米,或 1 px & 0.2646 毫米。這也意味著 px 和 pt(印刷點,1/72 英吋)之間的關係是固定的:1 pt = 1.333。。px,以及 12 pt = 16 px,這就是為什麼 16px 是每個瀏覽器中預設的正字體大小 -它是12 點文字。

值得明確說明的警告:這是一個 參考 像素,而不是設備像素。在高 DPI 顯示器上,一個 CSS 像素映射到兩個或三個實體像素。在手機上,視口縮放會再次改變這種關係。因此,當您將列印設計映射到網頁佈局(A4 頁面寬 210 毫米,即 793.7 CSS px)時,px → mm 正好正確,當您談論您的眼睛實際看到的內容時,它是一個有用的近似值,而不是物理真理視網膜螢幕上。

如果您正在建造佈局和設計代幣,則此轉換加上 選色器 涵蓋了設計師和#39;s 以列印為導向的規範和 CSS 實作之間的大部分翻譯工作。

常見用例

開發和開發營運。 檔案大小限制、儲存配額、快取大小、頻寬預算。 MB/MiB 的區別是咬人的區別,它會咬住錯誤號碼默默拒絕有效請求而不是拋出您會注意到的錯誤的地方。

前端和設計切換。 當設計來自列印導向的工具時,或當您生產既可以查看又可以列印的東西時,PX、PT、毫米和英吋。

烹飪和食譜。 美式杯、湯匙和盎司與克、毫升。請注意,這裡的體積轉換是美國慣例 - 英制品脫和加侖是單獨的條目,因為英國品脫為 568 毫升,而美國品脫為 473 毫升,20% 的差異毀了很多蛋糕。

旅行和日常生活。 公里到英里,公斤到磅,攝氏到華氏度,升到加侖。大多數單元轉換器流量都乏味,以及該工具預設為每個類別一對合理對而不是讓您對其進行配置的原因。

科學與工程。 壓力(psi、bar 和 pascal);能量(焦耳、卡路里、kWh 和 BTU);角度(以度、弧度和梯度為單位)。您在任何地方都在 SI 紙張和英制資料表之間移動。

健身和營養。 千卡("calorie"食品標籤上的實際上是千卡)到焦耳、公斤到磅和石頭、公里到英里的配速計算。如果您將每日目標的百分比而不是單位進行轉換,則 百分比計算器 是該工作流程的另一半。

為了更廣泛地了解哪些基於瀏覽器的實用程式值得保留,我收集了我每天使用的實用程式 web 開發人員's 工具包.

為什麼基於瀏覽器的轉換器很重要?

對於單元轉換器來說,隱私論點比 PDF 工具弱 - 沒有人會因為得知您將 30 公分轉換為英吋而損害您的利益。但有兩件事仍然使客戶端執行成為正確的架構。

第一個是速度。沒有往返。每次擊鍵都會更新結果,因為算術發生在幾微秒之外,而不是透過網路。伺服器支援的轉換器可以消除您的輸入並顯示旋轉器比在頭部進行乘法慢。

第二個是,當其他任何事情都不起作用時,它會繼續工作。載入頁面一次,它就會離線運行 - 在飛機上、火車上、沒有訪客 WiFi 的資料中心、網路討厭您的會議室中。 [toolz。dev] 上的每個工具(/都是故意以這種方式建構的,並且列出了該選擇背後的原因 - 對於它真正保護您的工具 為什麼您的資料永遠不應該離開您的瀏覽器.

問號

如何將厘米轉換為英寸?

將公分數除以 2.54,因為一吋被定義為 2.54 公分。所以 30 公分 11 2.54 = 11.811 英寸,100 公分 2.54 = 39.37 英寸。這種關係是一個定義而不是測量,由 1959 年國際碼和英鎊協議確定,因此它是精確的而不是近似的。

如何將 kg 轉換為 lbs?

公斤乘以 2.20462262,因為一磅被定義為 0.45359237 公斤。這使得 70 公斤等於 154.32 磅。心理捷徑 - 加倍並添加 10% - 可以讓您在幾分之一磅內,並且可以進行理智檢查,但對於任何必須正確的因素(例如運輸重量或劑量計算)使用精確的係數。

將攝氏度轉換為華氏度的公式是什麼?

°F = (°C × 9/5) + 32。因此 25 °C 為 77 °F,100 °C 為 212 °F。要反轉它:°C = (°F × 32) × 5/9。溫度需要乘法和偏移,因為兩個刻度具有不同的零點,這與單一乘數足夠的長度或重量不同。

MB和MIB有什麼區別?

兆位元組 (MB) 為 1,000,000 位元組,而兆位元組 (MiB) 為 1,048,576 位元組,即 1024²。差距約為 4.6%,並且隨著每一步的增加而增長:千兆位元組和千兆位元組相差 7.4%。驅動器製造商以十進制 MB 和 GB 進行廣告,而 Windows 以二進制單位報告,但標記為 GB,這就是為什麼 1 TB 驅動器顯示為大約 931 GB。什麼都沒有缺失--兩個系統的計數方式不同。

一英里有多少公里?

一英里正好是 1.609344 公里,所以一公里大約是 0.621371 英里。 5 公里跑為 3.107 英里,10 公里跑為 6.214 英里,馬拉松跑為 42.195 公里跑為 26.219 英里。相同的 0.621371 因子將公里/小時轉換為英里/小時,因為兩者與每小時距離的比率相同。

換算係數是精確的還是近似的?

它們是國際標準中精確定義的值:1 英寸 = 0.0254 m,1 磅 = 0.45359237 kg,1 美加侖 = 3.785411784 L,1 海裡 = 1852 m。僅顯示結果四捨五入為 8 位有效數字,這保持輸出可讀,不會引入您會注意到的錯誤。少數真正傳統的單位 - "月&報價; 30 天時,海平面馬赫數 - 如此標記。

我可以將 CSS 像素轉換為毫米嗎?

是的。 CSS 規範將參考像素定義為 1/96 英寸,這使得 96 px 正好為 25.4 毫米。這種關係就是您將列印設計映射到 Web 佈局時想要的,這就是為什麼 12 pt 等於 16 px。請記住,它描述的是 CSS 參考像素,而不是高 DPI 螢幕上的實體像素,其中一個 CSS 像素可能覆蓋兩個或三個裝置像素。

轉換單位時我的資料是否傳送到伺服器?

不。每次轉換都是在瀏覽器中以 JavaScript 計算的,這也是為什麼結果會在您鍵入時而不是在網路往返後立即更新。您輸入的任何內容都不會被傳輸、記錄或存儲,並且一旦頁面加載,轉換器就會在沒有網路連接的情況下繼續工作。


Comments

0 comments

0/2000 characters

No comments yet. Be the first to share your thoughts!