Convert Fahrenheit to Celsius with JavaScript

By  on  

The United States is one of the last bodies that refuses to implement the Celsius temperature standard. Why? Because we're arrogant and feel like we don't need to change. With that said, if you code for users outside the US, it's important to provide localized weather data to users. Let's took at how you can convert between Fahrenheit and Celsius.

Fahrenheit to Celsius

The formula to convert Fahrenheit to Celsius is:

°C = 5/9 x (°F - 32)

The following function converts Fahrenheit to Celsius:

function convertFahrenheitToCelsius(degrees) {
  return Math.floor(5 / 9 * (degrees - 32));
}

Celsius to Fahrenheit

The formula to convert Celsius to Fahrenheit is:

°F = (°C × 9/5) + 32

The following function converts Celsius to Fahrenheit:

function convertCelsiusToFahrenheit(degrees) {
  return Math.floor(degrees * (9/5) + 32);
}

Temperature conversion is one of those things that's difficult to do in your head due to the somewhat complex formula. If you have a site that reflects weather data, keep these handy functions nearby!

Recent Features

  • By
    5 HTML5 APIs You Didn’t Know Existed

    When you say or read "HTML5", you half expect exotic dancers and unicorns to walk into the room to the tune of "I'm Sexy and I Know It."  Can you blame us though?  We watched the fundamental APIs stagnate for so long that a basic feature...

  • By
    How I Stopped WordPress Comment Spam

    I love almost every part of being a tech blogger:  learning, preaching, bantering, researching.  The one part about blogging that I absolutely loathe:  dealing with SPAM comments.  For the past two years, my blog has registered 8,000+ SPAM comments per day.  PER DAY.  Bloating my database...

Incredible Demos

  • By
    PHP IMDB Scraper

    It's been quite a while since I've written a PHP grabber and the itch finally got to me. This time the victim is the International Movie Database, otherwise known as IMDB. IMDB has info on every movie ever made (or so it seems). Their...

  • By
    JavaScript Copy to Clipboard

    "Copy to clipboard" functionality is something we all use dozens of times daily but the client side API around it has always been lacking; some older APIs and browser implementations required a scary "are you sure?"-style dialog before the content would be copied to clipboard -- not great for...

Discussion

  1. The reason the US (and a few other countries) don’t convert to Celsius and other metric systems has nothing to do with arrogance. Do you think that Russia is not arrogant? China? North Korea?

    The reason has to do with cost-benefit analysis. How many mental, economic, medical, social, and legal changes would have to be made, as well as the corresponding costs to time and money, to allow a complete change over. Many efforts have been made to switch the US systems officially to something else and they usually fail because the general public and industry collectively decide, often subconsciously, that it isn’t worth the change.

    To that note, the US is not unique. There are lots of countries that are officially on metric standards, yet still use other units in various places and contexts.

    Additionally, consider time. Time is represented in base 10 units at the low levels, but then it’s base 60 for seconds, base 60 for minutes, base 24 or 12 * 2 for hours, days are sometimes base 30 (but not always), and years are base 12-ish (their size changes from year to year). There have been attempts to use decimal time all around the world, but to date, no country officially uses it. Is the world just arrogant?

Wrap your code in <pre class="{language}"></pre> tags, link to a GitHub gist, JSFiddle fiddle, or CodePen pen to embed!