UNPKG

@shopgate/engage

Version:
19 lines 1.23 kB
import{i18n}from'@shopgate/engage/core';/** * Formats a float number to a string with limited decimals * and no grouping. * @param {number} value Value * @param {number} decimals Decimals * @param {string} locale Locale * @returns {string} */var formatFloatLocale=function formatFloatLocale(value,decimals){var locale=arguments.length>2&&arguments[2]!==undefined?arguments[2]:navigator.language;try{return value.toLocaleString(locale,{style:'decimal',useGrouping:false,minimumFractionDigits:decimals,maximumFractionDigits:decimals}).toString();}catch(err){return i18n.number(value,decimals);}};/** * Parses a float string to a float. * TODO: Needs to handle localized inputs like: 1,000,000.32 or 1.000.000,32 * @param {string} value The string value. * @param {number} decimals The amount of decimals. * @returns {number} */export var parseFloatString=function parseFloatString(value,decimals){return+parseFloat(value.replace(',','.')).toFixed(decimals);};/** * Formats a float to a string. * @param {float} value The float value. * @param {number} decimals The amount of decimals. * @returns {string} */export var formatFloat=function formatFloat(value,decimals){return formatFloatLocale(value,decimals);};