Как рассчитать размеры колеи?

1

Я хотел бы создать конвертер для этой диаграммы:

https://ww2.riogrande.com/content/brown-sharpe-gauge-thicknesses-cg-html

Я написал от cm до дюймовой части до трех знаков после запятой:

function LengthConvertermm(valNum) {
    document.getElementById("inputinch")
    .value=parseFloat(valNum*0.03937007874).toFixed(3);
}

Но на графике, чем выше измерение, тем ниже число калибра!
Как я могу создать эту часть кода? Я не могу разобраться, так как это не так просто, как умножение!

  • 0
    у вас есть пример того, что вы хотите? от мм до калибра?
  • 0
    @NinaScholz да, первая ссылка показывает примеры мм-дюймов, и до сих пор я сделал это: jsfiddle.net/sgpascoe/8f0ywvg7/4
Теги:

3 ответа

2
Лучший ответ

Как показано в Википедии, размеры калибровки математически четко определены.
Поэтому размеры калибра в дюймах и в мм легко вычисляются по калибровочному числу, а простая арифметика дает обратные результаты.

Обратите внимание, что я использовал результаты (не округленные) для результатов in и mm, так как таблица, с которой вы связаны, делала то же самое.

const gaugeToIn = n => 0.32486 * Math.pow(Math.E, -0.11594 * n);
const gaugeToMm = n => 8.25154 * Math.pow(Math.E, -0.11594 * n);
// Unused, but reverse operations as well
const inToGauge = n => Math.round(Math.log(n / 0.32486) / (-0.11594));
const mmToGauge = n => Math.round(Math.log(n / 8.25154) / (-0.11594));

// Used to display results
const write = msg => {
  document.body.appendChild(document.createElement('p')).innerHTML = msg;
};

for (let gauge = 0; gauge < 35; gauge++) {
  const flooredIn = gaugeToIn(gauge).toFixed(3);
  const flooredMm = gaugeToMm(gauge).toFixed(3);
  write('gauge ${gauge}: ${flooredIn} in / ${flooredMm} mm');
}
  • 0
    Удивительно! Две верхние строки - это математика, которая мне нужна! Как бы я изменил конверсию?
  • 0
    @ user2436271 Логарифм - обратная операция показателя степени, я добавил пример к ответу.
Показать ещё 1 комментарий
0

Пытаться

parseFloat(+valNum*0.03937007874)

Может быть, valNum - строка;

  • 0
    Часть мм / дюйм готова, это часть калибра, с которой я борюсь. Я написал это jsfiddle.net/sgpascoe/8f0ywvg7/4, но 10 Gauge должен быть 2,59 мм, а 20 калибр 0,812 мм
0
function LengthConvertermm(valNum) {
    document.getElementById("inputinch").value= 100 - parseFloat(valNum*0.03937007874).toFixed(3);
}

//Предполагая, что 100 - максимальное число

Ещё вопросы

Сообщество Overcoder
Наверх
Меню