БлогNot. Javascript: конвертеры одной строчкой кода или перевод температур

Javascript: конвертеры одной строчкой кода или перевод температур

В сети много удобных конвертеров для перевода одних единиц измерения в другие, а крупные поисковики выдают такие конвертеры даже по подходящим поисковым запросам, например, попросим Гугль помочь преобразовать градусы Цельсия в Ранкина - и конвертер тут как тут.

Если оставить в стороне вопросы разработки интерфейса, написать "универсальный" конвертер на том же Яваскрипте - вопрос нескольких операторов.

Продемонстрируем это для единиц измерения температуры, учтя градусы Цельсия, Кельвина, Фаренгейта и Ранкина, показываемые гуглевским виджетом.

Всю работу выполнят несколько переменных и маленькие функции для вывода результатов в документ:

Исходник этого приложения, выполняемый как обычный файл .html:

<div id="tempDiv"></div>
<script type="text/javascript">
var k2c = k => k - 273.15; //Кельвин в Цельсия
var k2r = k => k * 1.8; //Кельвин в Ранкина
var k2f = k => k2r(k) - 459.67; //Кельвин в Фаренгейта
 
Number.prototype.toMaxDecimal = function (d) { return +this.toFixed(d) + ''; }
 
function kCnv(k) { //Кельвин в другие единицы
 document.getElementById('tempDiv').innerHTML += ''+k+'K° = '+k2c(k).toMaxDecimal(2)+'C° = '+
  k2r(k).toMaxDecimal(2)+'R° = '+k2f(k).toMaxDecimal(2)+'F°<br>'; 
}

var c2k = с => с + 273.15; //Цельсий в Кельвина
var c2f = c => c * 1.8 + 32; //Цельсий в Фаренгейта
var c2r = c => c2f(c) + 459.67; //Цельсий в Ранкина

function cCnv(c) { //Цельсий в другие единицы
 document.getElementById('tempDiv').innerHTML += ''+c+'C° = '+c2k(c).toMaxDecimal(2)+'K° = '+
  c2r(c).toMaxDecimal(2)+'R° = '+c2f(c).toMaxDecimal(2)+'F°<br>'; 
}
 
kCnv(21);
kCnv(273);
cCnv(21);
cCnv(273);
</script>
<noscript><div>Пример недоступен из-за отключённого Javascript в браузере</div></noscript>

28.09.2017, 16:30 [5289 просмотров]


теги: javascript числа google

К этой статье пока нет комментариев, Ваш будет первым