tratando de descubrir cómo crear un programa de año bisiesto. Creé la mayor parte, pero hasta ahora, las declaraciones if no funcionan correctamente, así que solo trato de averiguar por qué no funciona.
import "./App.css"; import leapyear from "./images/leapyear.jpeg"; import React, { useState } from "react"; function App() { const [year, setYear] = useState(" "); const handleClick = (e) => { e.preventDefault(); if(( 0 == e%4) && ( 0 != e%100 ) && (0 == e%400)){ console.log('it is a leap year') } else{ console.log('it is not a leap year') } } return ( <div className="app"> <h1>Leap Number Calculator</h1> <img className="leapimg" src={leapyear}></img> <form onSubmit={handleClick}> <label>Enter a year and we will see if it is a leap year</label> <input type="text" value={year} onChange={(e) => setYear(e.target.value)} ></input> <input type="submit"></input> </form> </div> ); } export default App;No funciona porque su fórmula para verificar si el año es bisiesto es incorrecta.
function isLeapYear(year) { return year % 400 === 0 || (year % 100 !== 0 && year % 4 === 0); }Para determinar si un año es bisiesto, tiene que ser:
Ver wikipedia: https://en.wikipedia.org/wiki/Leap_year
const year = 2024 const isLeapYear = (year) => { return (year % 100 === 0) ? ( year % 400 === 0) : (year % 4 === 0); } if (isLeapyear(year)) console.log('yeah') if (!isLeapyear(year)) console.log('no')