@technobuddha/library
Version: 
A large library of useful functions
21 lines • 1.47 kB
JavaScript
/**
 * Reconstructs a number from its deconstructed representation.
 * @param deconstructed - An object containing the sign, mantissa, and exponent of the number.
 * @returns The reconstructed number.
 * @example
 * ```typescript
 * constructNumber({ sign: 1, mantissa: '123', exponent: 0 }); // 1.23
 * constructNumber({ sign: -1, mantissa: '500', exponent: 2 }); // -5
 * constructNumber({ sign: 1, mantissa: '', exponent: 0 }); // 0
 * ```
 * @group Math
 * @category Number
 */
export function constructNumber(deconstructed) {
    if (deconstructed.mantissa === '') {
        return deconstructed.sign * 0;
    }
    return (deconstructed.sign *
        Number.parseFloat(`${deconstructed.mantissa.slice(0, 1)}.${deconstructed.mantissa.slice(1)}e${deconstructed.exponent}`));
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RydWN0LW51bWJlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jb25zdHJ1Y3QtbnVtYmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBOzs7Ozs7Ozs7Ozs7R0FZRztBQUNILE1BQU0sVUFBVSxlQUFlLENBQUMsYUFBaUQ7SUFDL0UsSUFBSSxhQUFhLENBQUMsUUFBUSxLQUFLLEVBQUUsRUFBRSxDQUFDO1FBQ2xDLE9BQU8sYUFBYSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELE9BQU8sQ0FDTCxhQUFhLENBQUMsSUFBSTtRQUNsQixNQUFNLENBQUMsVUFBVSxDQUNmLEdBQUcsYUFBYSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLGFBQWEsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLGFBQWEsQ0FBQyxRQUFRLEVBQUUsQ0FDckcsQ0FDRixDQUFDO0FBQ0osQ0FBQyJ9