我正在編寫基於Web的工程模擬前端。後端僅接受非前綴SI單位的值,例如米或瓦。不過,最好允許用戶輸入他們希望的任何單位的值。例如,如果你需要輸入一個距離,你可以輸入:javascript工程輸入庫
15 inches
3.1 meter
1.4 km
但值,例如:
12 seconds
5 pounds
147 watts
將被拒絕。我第一次嘗試使用js-quantities,但它不以最直觀的方式解析派生單位。它需要在每個相乘單元之間放置一個空間。例如,要輸入安培小時的電量,100 Ah
是無效的,但可以接受100 A h
。此外,js-quantity不支持扭矩或溫度單位(只有溫度差異,例如華氏溫度不能轉換爲攝氏溫度)
然後我試着用谷歌計算器API做單位轉換,但它產生難以解析結果爲小的數字:
轉換5nm至米
請求:
http://www.google.com/ig/calculator?hl=en&q=5%20nm=?m
響應:
{lhs: "5 nanometers",rhs: "5.0 \x26#215; 10\x3csup\x3e-9\x3c/sup\x3e meters",error: "",icc: false}
您提到的轉換並不真正需要被Google計算出來。它們只是靜態的,所以你應該在瀏覽器中做它們。就像這個問題的答案:http://stackoverflow.com/questions/865590/unit-of-measure-conversion-library – olan
是的,最好他們會在瀏覽器中完成。我只是在尋找一個能夠以這種方式解析單位的圖書館或服務。我已經看到你鏈接的問題,但它不處理實際的解析。另外,我不確定我能否輕鬆創建有效單元的詳盡列表。 – charliehorse55
Hi @ charliehorse55。我是js-quantities的作者。如果可能的話,我會很樂意解決這些問題(尤其是解析)。儘管如此,我嘗試tempF到tempC轉換和扭矩量,但它按預期工作((新的數量('tempF')。到('tempC')),新的數量('N * m'))。 – gentooboontoo