--- id: 64007367d54d2a7efbf44fcf title: Step 12 challengeType: 0 dashedName: step-12 --- # --description-- Next, you need to check if the value returned by the `parseInt()` function is a number or not. To do that, you can use the `isNaN()` function. This function takes in a string or number as an argument, and returns `true` if it evaluates to `NaN`. For example: ```js isNaN("test"); // true isNaN(2); // false isNaN("3.5"); // false ``` Update the second condition in your `if` statement to use the `isNaN()` function to check if the value returned by `parseInt()` is `NaN`. Also,as we mentioned in step 1 that we are considering only positive numbers, we should add a third condition in `if` statement to check whether the number is less than 0 (i.e negative numbers) ```js 6 < 0; // false -1 < 0; // true -8 < 0; // true 0 < 0; //false ``` # --hints-- You should wrap the value returned by `parseInt()` in the `isNaN()` function. And add a third condition which checks the value returned by `parseInt()` to be less than 0. ```js assert.match(String(checkUserInput), /if\s*\(\s*!\s*numberInput\s*\.\s*value\s*\|\|\s*isNaN\(\s*parseInt\(\s*numberInput\s*\.\s*value\s*\)\s*\)\s*\|\|\s*parseInt\(\s*numberInput\s*\.\s*value\s*\)\s*\<\s*0\s*\)\s*\{/); ``` The body of your `if` statement within `checkUserInput` should be empty. ```js assert.match(String(checkUserInput), /if\s*\(\s*.+\s*\)\s*\{\s*\}/); ``` # --seed-- ## --seed-contents-- ```html Decimal to Binary Converter

Decimal to Binary Converter

``` ```css *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } :root { --light-grey: #f5f6f7; --dark-blue: #1b1b32; --orange: #f1be32; } body { background-color: var(--dark-blue); font-family: "Times New Roman", Times, serif; font-size: 18px; color: var(--light-grey); padding: 0 15px; display: flex; flex-direction: column; align-items: center; } h1 { text-align: center; font-size: 2.3rem; margin: 20px 0; } .input-container { margin: 10px 0; display: flex; flex-direction: column; gap: 10px; justify-content: center; align-items: center; } .convert-btn { background-color: var(--orange); cursor: pointer; border: none; padding: 4px; } .number-input { height: 25px; } #result { margin: 10px 0; min-width: 200px; width: fit-content; min-height: 80px; word-break: break-word; padding: 15px; border: 5px solid var(--orange); font-size: 2rem; text-align: center; } #animation-container { margin: auto; max-width: 300px; } .animation-frame { margin: 250px auto 0; padding: 15px 10px; border: 5px solid var(--orange); font-size: 1.2rem; text-align: center; } @media screen and (min-width: 500px) { .input-container { flex-direction: row; } #result { max-width: 460px; } } ``` ```js const numberInput = document.getElementById("number-input"); const convertBtn = document.getElementById("convert-btn"); const result = document.getElementById("result"); const checkUserInput = () => { --fcc-editable-region-- if (!numberInput.value || parseInt(numberInput.value)) { } --fcc-editable-region-- console.log(numberInput.value); }; convertBtn.addEventListener("click", checkUserInput); numberInput.addEventListener("keydown", (e) => { if (e.key === "Enter") { checkUserInput(); } }); ```