units.js 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. /*
  2. * Copyright (C) 2015 Malte Veerman <malte.veerman@gmail.com>
  3. *
  4. * This program is free software; you can redistribute it and/or modify
  5. * it under the terms of the GNU Lesser General Public License as published by
  6. * the Free Software Foundation; either version 2 of the License, or
  7. * (at your option) any later version.
  8. *
  9. * This program is distributed in the hope that it will be useful,
  10. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  12. * GNU Lesser General Public License for more details.
  13. *
  14. * You should have received a copy of the GNU Lesser General Public License along
  15. * with this program; if not, write to the Free Software Foundation, Inc.,
  16. * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
  17. *
  18. */
  19. function round(number, dec) {
  20. if (!dec || dec == 0) return Math.round(number);
  21. return Math.round(number*Math.pow(10, dec)) / Math.pow(10, dec);
  22. }
  23. function toCelsius(degrees, currentUnit) {
  24. var float = parseFloat(degrees);
  25. if (currentUnit == "K") { return float - 273.15; }
  26. if (currentUnit == "°F") { return (float - 32) * 5 / 9; }
  27. return float;
  28. }
  29. function fromCelsius(degrees, newUnit) {
  30. var float = parseFloat(degrees);
  31. if (newUnit == "K") { return float + 273.15; }
  32. if (newUnit == "°F") { return float * 9 / 5 + 32; }
  33. return float;
  34. }
  35. function fromKelvin(degrees, newUnit) {
  36. var float = parseFloat(degrees);
  37. if (newUnit == "°C") { return float - 273.15; }
  38. if (newUnit == "°F") { return float * 9 / 5 - 459.67; }
  39. return float;
  40. }