NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript== // @name TGC Inches to CM converter // @namespace http://tampermonkey.net/ // @version 0.1 // @description Converts all sizes in inches to cm // @author You // @match https://www.thegamecrafter.com/* // @grant none // ==/UserScript== /* jshint -W097 */ 'use strict'; // Inches to cm ratio var inchToCm = 2.54; $(function() { // Find all table cells with the text 'inches' or 'in' or '"' in it $('td:contains( inches), td:contains( in), td:contains(")').each(function(){ // Get the text content of the table cell var text = $(this).text() // Remove 'inches' or 'in' or '"' from the text and split the remaining text (should be '.. x .. x ..') on 'x' var textArray = text.replace(/(inches|in|")/, '').split('x'); // Convert each value to cm var converted = $.map(textArray, function(textNum, i){ // Parse a float from the numerical text var num = parseFloat(textNum); // Return if this isn't a number if(isNaN(num)){ if(console !== undefined){ console.log('Could not parse to number:', textNum); } return false; } // Convert to cm num = num * inchToCm // Format number with a maximum of 4 digits after the decimal point var numText = num.toString(); var numArray = numText.split(numText.indexOf('.') === -1 ? ',' : '.'); // Decimal point should be either '.' or ',' depending on browser locale settings if(numArray.length > 1){ if(numArray[1].length > 4){ numText = num.toFixed(4); } } return numText; }); // Return if there is only one converted number. Dimensions contain at least 2 numbers. if(converted.length < 2){ return false; } // Format the numbers array into a '.. x .. x .. cm' string var cmText = converted.join(' x ') + ' cm' // Write the converted value in the table cell $(this).text(cmText); // Append an additional element showing the original value of the table cell var converted = $('<div />'); converted.css({fontSize: 11}); converted.text('(' + text + ')'); converted.appendTo($(this)); }); });