Loading...
vesi01 avatar vesi01 0 Точки

Задачата Metric Converter

Здравейте, не мога да намеря къде е грешката. Моля помогнете.

function metricConverter(arg1, arg2, arg3) {

let number = Number(arg1);

let inMetric = String(arg2);

let outMetric = String(arg3);

 

let converting = `${inMetric} + ${outMetric}`;

if (converting = `mm` + `m`) {

let result = (number / 1000);

console.log(result.toFixed(3));

} else if (converting == `m` + `cm`) {

let total = (number * 100);

console.log(total.toFixed(3));

} else if (converting == `cm` + `mm`) {

let result = (number * 1000);

console.log(result.toFixed(3))

}

}

metricConverter("150", "m", "cm");

Тагове:
takvor avatar takvor 45 Точки

Добър подход при този тип задачи е да се превръща входът в най-малката единица (в случая мм) и да се извежда резултат, преизчислен в единицата, която се изисква.

 

function solve(args) {
    let entered = Number(args.shift());
    let input = args.shift();
    let output = args.shift();
    if (input === "cm") entered *= 10;
    else if (input === "m") entered *= 1000;
    if (output === "cm") entered /= 10;
    else if (output === "m") entered /= 1000;
    console.log(entered.toFixed(3));
}

solve([12, 'mm', 'm']);
solve([150, 'm', 'mm']);
solve([45, 'cm', 'mm']);

0
19/10/2020 13:23:48
Dragomanov avatar Dragomanov 15 Точки

Колега, имаш грешки в кода.

Погледни:

let converting = `${inMetric} + ${outMetric}`;

if (converting = `mm` + `m`) {

с първия правиш стринг?

а с втория присвояваш стойност ("="), вместо да проверяваш условие ("===").

Прегледай предходния пост. Използвай една базова единица и преобразувай другите спрямо нея.

 

0
20/10/2020 12:37:07
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.