How to use the Number object in TypeScript

1 Answer

0 votes
/**
 * Number Example in TypeScript
 * ----------------------------
 * Demonstrates:
 * - Creating numbers
 * - Number methods
 * - Number constants
 * - Parsing strings
 * - Formatting values
 * - Validation
 * - Math 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;
*/

/*
Common operations
-----------------
Number()
Number.isInteger()
Number.isFinite()
Number.isNaN()
 
toFixed()
toPrecision()
toString()
 
Math.round()
Math.floor()
Math.ceil()
Math.sqrt()
Math.random()
*/

"use strict";

/**
 * Calculates the average of an array of numbers.
 *
 * @param numbers Array of numbers
 * @returns Average value
 */
function calculateAverage(numbers: number[]): number {
    if (numbers.length === 0) {
        return 0;
    }

    const sum: number = numbers.reduce(
        (total: number, current: number): number =>
            total + current,
        0
    );

    return sum / numbers.length;
}

/**
 * Formats a number as US currency.
 *
 * @param amount Monetary value
 * @returns Formatted currency string
 */
function formatCurrency(amount: number): string {
    return amount.toLocaleString("en-US", {
        style: "currency",
        currency: "USD"
    });
}

/**
 * Returns a random integer between min and max (inclusive).
 *
 * @param min Minimum value
 * @param max Maximum value
 * @returns Random integer
 */
function getRandomInteger(
    min: number,
    max: number
): number {
    return Math.floor(
        Math.random() * (max - min + 1)
    ) + min;
}

// ----------------------------------------------------
// Creating Numbers
// ----------------------------------------------------

const integerValue: number = 100;
const decimalValue: number = 99.95;

console.log("=== Numbers ===");
console.log(integerValue);
console.log(decimalValue);

// ----------------------------------------------------
// Number Constants
// ----------------------------------------------------

console.log("\n=== Number Constants ===");

const maxValue: number = Number.MAX_VALUE;
const minValue: number = Number.MIN_VALUE;

console.log("MAX_VALUE:", maxValue);
console.log("MIN_VALUE:", minValue);

console.log(
    "MAX_SAFE_INTEGER:",
    Number.MAX_SAFE_INTEGER
);

console.log(
    "MIN_SAFE_INTEGER:",
    Number.MIN_SAFE_INTEGER
);

// ----------------------------------------------------
// Converting Strings to Numbers
// ----------------------------------------------------

console.log("\n=== Number Conversion ===");

const textValue: string = "123.45";

const convertedNumber: number =
    Number(textValue);

const integerNumber: number =
    parseInt(textValue, 10);

const decimalNumber: number =
    parseFloat(textValue);

console.log(convertedNumber);
console.log(integerNumber);
console.log(decimalNumber);

// ----------------------------------------------------
// Number Validation
// ----------------------------------------------------

console.log("\n=== Validation ===");

const score: number = 100;
const invalidValue: number = NaN;

console.log(
    "Is Integer:",
    Number.isInteger(score)
);

console.log(
    "Is Finite:",
    Number.isFinite(score)
);

console.log(
    "Is NaN:",
    Number.isNaN(invalidValue)
);

// ----------------------------------------------------
// Formatting Numbers
// ----------------------------------------------------

console.log("\n=== Formatting ===");

const price: number = 1234.56789;

console.log(price.toFixed(2));
console.log(price.toPrecision(6));

// ----------------------------------------------------
// Math Functions
// ----------------------------------------------------

console.log("\n=== Math Functions ===");

const value: number = 4.75;

console.log("Round:", Math.round(value));
console.log("Floor:", Math.floor(value));
console.log("Ceil :", Math.ceil(value));

console.log("Power:", Math.pow(2, 3));
console.log("Square Root:", Math.sqrt(25));

// ----------------------------------------------------
// Currency Formatting Function
// ----------------------------------------------------

console.log("\n=== Currency ===");

const salary: number = 5000.5;

console.log(formatCurrency(salary));

// ----------------------------------------------------
// Average Function Example
// ----------------------------------------------------

console.log("\n=== Average ===");

const grades: number[] = [
    85,
    90,
    95,
    88,
    92
];

const averageGrade: number =
    calculateAverage(grades);

console.log("Grades:", grades);
console.log("Average:", averageGrade);

// ----------------------------------------------------
// Random Numbers
// ----------------------------------------------------

console.log("\n=== Random Integer ===");

const randomNumber: number =
    getRandomInteger(1, 10);

console.log(randomNumber);

// ----------------------------------------------------
// Arithmetic Operations
// ----------------------------------------------------

console.log("\n=== Arithmetic ===");

const a: number = 10;
const b: number = 5;

const addition: number = a + b;
const subtraction: number = a - b;
const multiplication: number = a * b;
const division: number = a / b;
const remainder: number = a % b;

console.log("Add:", addition);
console.log("Subtract:", subtraction);
console.log("Multiply:", multiplication);
console.log("Divide:", division);
console.log("Remainder:", remainder);

// ----------------------------------------------------
// Summary Example
// ----------------------------------------------------

console.log("\n=== Summary ===");

const baseSalary: number = 70000;
const annualBonus: number = 8000;

const totalCompensation: number =
    baseSalary + annualBonus;

console.log(
    `Total Compensation: ${formatCurrency(
        totalCompensation
    )}`
);


/*
run:

=== Numbers ===
100
99.95

=== Number Constants ===
MAX_VALUE: 1.7976931348623157e+308
MIN_VALUE: 5e-324
MAX_SAFE_INTEGER: 9007199254740991
MIN_SAFE_INTEGER: -9007199254740991

=== Number Conversion ===
123.45
123
123.45

=== Validation ===
Is Integer: true
Is Finite: true
Is NaN: true

=== Formatting ===
1234.57
1234.57

=== Math Functions ===
Round: 5
Floor: 4
Ceil : 5
Power: 8
Square Root: 5

=== Currency ===
$5,000.50

=== Average ===
Grades: [ 85, 90, 95, 88, 92 ]
Average: 90

=== Random Integer ===
2

=== Arithmetic ===
Add: 15
Subtract: 5
Multiply: 50
Divide: 2
Remainder: 0

=== Summary ===
Total Compensation: $78,000.00

*/

 



answered Oct 17 by avibootz
...