(function() {
  var conversions = null;
  var from = null;
  var to = null;
  var amount = null;
  var result = null;
  function setup() {
    document.removeEventListener("DOMContentLoaded", setup);
    var xhr = new XMLHttpRequest();
    xhr.open("GET", "https://api.fixer.io/latest");
    xhr.onload = (function() { x = JSON.parse(this.responseText); });
    xhr.send();
    (amount = document.getElementById("amt-input")) && amount.addEventListener("keydown", submit);
    amount && amount.addEventListener("keyup", submit);
    (from = document.getElementById("from")) && from.addEventListener("change", submit);
    (to = document.getElementById("to")) && to.addEventListener("change", submit);
    result = document.getElementById("amt-result");
    clone();
  }
  function clone() {
    to.innerHTML = from.innerHTML;
  }
  function convert(amount, from, to) {
    if (conversions !== null && from in conversions.rates && to in conversions.rates) {
      return amount / conversions.rates[from] * conversions.rates[to];
    }
  }
  function submit() {
    if (conversions !== null && amount.value) {
      result.innerHTML = convert(amount.value, from[from.selectedIndex].value, to[to.selectedIndex].value);
    }
  }
  document.addEventListener("DOMContentLoaded", setup);
}).call();

@@ -1027,24 +1027,247 @@
 ;%0A    %7D%0A  %7D%0A
+  function trunc(amount) %7B%0A    var trunc = Math.round(amount * 100) / 100;%0A    var split = trunc.toString.split(%22.%22);%0A    while (split%5B1%5D.length %3C 2) %7B%0A      split%5B1%5D += %220%22;%0A    %7D%0A    return split%5B0%5D + %22.%22 + split%5B1%5D;%0A  %7D%0A
   function s
@@ -1337,28 +1337,30 @@
  result.
-innerHTML = 
+value = trunc(
 convert(
@@ -1432,16 +1432,17 @@
 %5D.value)
+)
 ;%0A    %7D%0A

Update currency.js