169 похожих чатов

Есть диапазон от 1 до 500, и второй диапазон от

0 до 40. Есть возможность их как то сопоставить? Что бы 500=40, а 1=0. Только для каждого числа из первого диапазона.

19 ответов

19 просмотров

Ну ты сам напиши

Daniil-Eiri Автор вопроса
Danila Bakunov
Ну ты сам напиши

а какая логика? я чет туплю

Напиши, что этим добится хочешь, что с помощью этого хочешь сделать?

Daniil-Eiri Автор вопроса
Daniil-Eiri Автор вопроса
Vitalijs Lavrinovics
Напиши, что этим добится хочешь, что с помощью это...

да калькулятор делаю, коэффициент нужен. Но я вроде четко задачу обозначил, зачем цель расписывать

Daniil Eiri
да калькулятор делаю, коэффициент нужен. Но я врод...

В том то и дело что задача не особо четко написана, по моему.

function maprange(a){ return (a-1)*40/499; // 1-500 <-> 0-40 // 1+( 0-499 ) <--> 0-40 } function maprange_reverse(b){ return b*499/40+1; } console.log( maprange(500) ) // 40 console.log( maprange(1) ) // 0 console.log( maprange_reverse(0) ) // 1 console.log( maprange_reverse(40) ) // 50 console.log( maprange(250) ) // 19.95991983967936 console.log( maprange_reverse(20) ) // 250.5

Daniil-Eiri Автор вопроса
Daniil Eiri
Красиво, спасибо

а назачем это, если не секрет?)

Daniil-Eiri Автор вопроса
allpeg
а назачем это, если не секрет?)

калькулятор коммерческий, расчет цены, нужен конкретный коэффициент постепенно увеличивающийся в зависимости от диапазона, потом я его умножаю на число в цикле что бы в зависимости от сложности и объема работ правильно рассчитать цену, типо того

Daniil Eiri
калькулятор коммерческий, расчет цены, нужен конкр...

ох, прикольно. Но кстати если интересно, вроде есть функция общего вида, которая преобразовывает один диапазон в другой такая используется чтобы Math.random() превратить в функцию как в php mt_rand() где указывается два int'а

Daniil Eiri
калькулятор коммерческий, расчет цены, нужен конкр...

function rangemap(x,a,b,c,d){ return (x-a)*(d-c)/(b-a)+c; } rangemap(3,1,5,11,21) // 16 rangemap(250,1,500,0,40) // 19.95991983967936 rangemap(20,0,40,1,500) // 250.5во, написал и вспомнил как оно называется - оно называется lerp (linear interpolation) только там на вход даётся три значения доля (число от 0 до 1), начало и конец диапазона вот, вспомнил, загуглил, первый результат // https://suvitruf.ru/2019/03/13/4305/a-brief-introduction-to-lerp/ function lerp(start, end, t) { return start * (1 - t) + end * t; }почти то же самое, ток в моей функции по сути мы пересчитываем свой диапазон в 0-1 и уже по похожей формуле считаем

Daniil-Eiri Автор вопроса
allpeg
function rangemap(x,a,b,c,d){ return (x-a)*(d-...

круто, но я оказывается все правильно делал несколько раз. Оказалось что js числа воспринимал как строки, и я при сложении например 350 и 400 получал 350400, выяснил это когда начал выводить все переменные и искать ошибку. Перевел тип данных в числовые и все заработало))

Daniil Eiri
круто, но я оказывается все правильно делал нескол...

о да, сам много раз так попадал) ничего, скоро ещё у тебя будут в корзине значения вида 1234.30000000000000004 и 4321.19999999999999996

Daniil-Eiri Автор вопроса
allpeg
о да, сам много раз так попадал) ничего, скоро ещё...

для счета после запятой спер такую функцию function roundTwoDigits(x) { var k = (Math.round(x * 100)/ 100).toString(); k += (k.indexOf('.') == -1)? '.00' : '00'; var p = k.indexOf('.'), m = k.indexOf('-.'); var f = (p === 0 || m === 0)? '0.' : '.'; return k.substring(0, p) + f + k.substring(p+1, p+3); }

Daniil Eiri
для счета после запятой спер такую функцию functio...

надо было спереть вот эту function roundTwoDigits(x) { return (+x).toFixed(2); }

так у него функция тоже округляет

это чтобы обрезать. а при расчете денег надо именно округлять

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта