"use strict";
/*
* Number Object Example
* ---------------------
* Demonstrates:
* - Creating numbers
* - Number methods
* - Parsing values
* - Formatting numbers
* - Checking numeric values
* - Mathematical operations
* - Custom functions
*/
/*
Useful Number Constants
-----------------------
Number.MAX_VALUE;
Number.MIN_VALUE;
Number.MAX_SAFE_INTEGER;
Number.MIN_SAFE_INTEGER;
Number.POSITIVE_INFINITY;
Number.NEGATIVE_INFINITY;
*/
/*
Frequently used methods and utilities
-------------------------------------
Number()
Number.isInteger()
Number.isFinite()
Number.isNaN()
toFixed()
toPrecision()
Math.round()
Math.floor()
Math.ceil()
Math.random()
*/
/**
* Calculates the average of an array of numbers.
*
* @param {number[]} numbers
* @returns {number}
*/
function calculateAverage(numbers) {
if (!Array.isArray(numbers) || numbers.length === 0) {
return 0;
}
const sum = numbers.reduce(
(total, current) => total + current,
0
);
return sum / numbers.length;
}
/**
* Formats a number as currency.
*
* @param {number} amount
* @returns {string}
*/
function formatCurrency(amount) {
return amount.toLocaleString("en-US", {
style: "currency",
currency: "USD"
});
}
// --------------------------------------------------
// Creating Numbers
// --------------------------------------------------
const integer = 100;
const decimal = 99.95;
console.log("=== Numbers ===");
console.log(integer);
console.log(decimal);
// --------------------------------------------------
// Number Properties
// --------------------------------------------------
console.log("\n=== Number Properties ===");
console.log(Number.MAX_VALUE);
console.log(Number.MIN_VALUE);
console.log(Number.MAX_SAFE_INTEGER);
console.log(Number.MIN_SAFE_INTEGER);
// --------------------------------------------------
// Number Conversion
// --------------------------------------------------
console.log("\n=== Number Conversion ===");
const stringNumber = "123.45";
console.log(Number(stringNumber));
console.log(parseInt(stringNumber, 10));
console.log(parseFloat(stringNumber));
// --------------------------------------------------
// Checking Numeric Values
// --------------------------------------------------
console.log("\n=== Validation ===");
console.log(Number.isInteger(100));
console.log(Number.isInteger(99.95));
console.log(Number.isFinite(100));
console.log(Number.isNaN(NaN));
// --------------------------------------------------
// Formatting Numbers
// --------------------------------------------------
console.log("\n=== Formatting ===");
const price = 1234.56789;
console.log(price.toFixed(2));
console.log(price.toPrecision(6));
// --------------------------------------------------
// Rounding
// --------------------------------------------------
console.log("\n=== Rounding ===");
const value = 4.75;
console.log(Math.round(value));
console.log(Math.floor(value));
console.log(Math.ceil(value));
// --------------------------------------------------
// Arithmetic
// --------------------------------------------------
console.log("\n=== Arithmetic ===");
const a = 10;
const b = 5;
console.log(a + b);
console.log(a - b);
console.log(a * b);
console.log(a / b);
console.log(a % b);
// --------------------------------------------------
// Currency Formatting
// --------------------------------------------------
console.log("\n=== Currency Formatting ===");
console.log(formatCurrency(2500.5));
// --------------------------------------------------
// Average Function Example
// --------------------------------------------------
console.log("\n=== Average Function ===");
const scores = [90, 80, 95, 100, 85];
const average = calculateAverage(scores);
console.log("Scores:", scores);
console.log("Average:", average);
// --------------------------------------------------
// Random Numbers
// --------------------------------------------------
console.log("\n=== Random Numbers ===");
// Random decimal between 0 and 1
console.log(Math.random());
// Random integer between 1 and 10
const randomNumber =
Math.floor(Math.random() * 10) + 1;
console.log(randomNumber);
// --------------------------------------------------
// Complete Example
// --------------------------------------------------
console.log("\n=== Summary ===");
const salary = 60000;
const bonus = 5000;
const totalCompensation = salary + bonus;
console.log(
`Total Compensation: ${formatCurrency(totalCompensation)}`
);
/*
run:
true
false
true
true
=== Formatting ===
1234.57
1234.57
=== Rounding ===
5
4
5
=== Arithmetic ===
15
5
50
2
0
=== Currency Formatting ===
$2,500.50
=== Average Function ===
Scores: [ 90, 80, 95, 100, 85 ]
Average: 90
=== Random Numbers ===
0.9726779415470059
3
=== Summary ===
Total Compensation: $65,000.00
*/