/**
* Converts fractional number in decimal (only support mantissa of 5).
* @function
* @param {number} value - fractional number in integer and decimal (1.5)
*
* Locale files cannot handle decimal correctly, this function
* will split the decimal and pass to the Locale files as an object with {NUMBER, HALF}
* example: getMessage('general.number.shortLabel', fractionalNumberToLocale(number))
*/
const fractionalNumberToLocale = (value = 0) => {
const integerPart = Math.floor(value);
const fractionalPart = Math.floor((value - integerPart) * 10);
if (fractionalPart !== 5 && fractionalPart !== 0) {
// eslint-disable-next-line no-console
console.warn(
`Number provider to fractionalNumberToLocale with value ${fractionalPart} is not supported. Expected 0 or 5.`,
);
}
return { NUMBER: integerPart, HALF: fractionalPart };
};
export default fractionalNumberToLocale;