By Dan F
—
Last update
Jan 4, 2006
—
Installed
548 times.
// ==UserScript==
// @name Have Temperatures Your Way!
// @description Converts Farenheit to Celsius and Celsiuc to Farenheit (displays converted number in parenthesis)
// @include *
// ==/UserScript==//READ THIS
//Make this C to make all temps in Celsius//Leave at F to make all temps in fahrenheitvar convert = "C";//Change the number below to however many decimal places you want the numbers to be..var decimalplaces = 2;var findF = new RegExp("([0-9]+) ?(?:(?:°|°|°) ?[Ff])", "g");var findC = new RegExp("([0-9]+) ?(?:(?:°|°|°) ?[Cc])", "g");decimalplaces = 10^decimalplacesfunction FtoC(f) {c=(f-32)*5/9;c=Math.round(c*decimalplaces)/decimalplaces;
return (c);
}
function CtoF(c) {f=((9/5)*c)+32;f=Math.round(f*decimalplaces)/decimalplaces;
return (f);
}var textnodes = document.evaluate(
"//text()",
document,
null,
XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,
null);if (convert == "F") {for (var i = 0; i < textnodes.snapshotLength; i++) {node = textnodes.snapshotItem(i);
s = node.data;s = s.replace(findC, CtoF(RegExp.$1)+"°F");node.data = s;}} else {for (var i = 0; i < textnodes.snapshotLength; i++) {node = textnodes.snapshotItem(i);
s = node.data;s = s.replace(findF, FtoC(RegExp.$1)+"°C");node.data = s;}}