apkt-eis/src/utils/numbers.ts
2024-03-21 11:27:35 +07:00

47 lines
1.1 KiB
TypeScript
Executable File

const splitRoutePath = (routePath: string): string[] => {
const routeParts = routePath.split('/').filter((part) => part !== '')
const routeArray: string[] = []
let currentRoute = ''
for (const part of routeParts) {
currentRoute += `/${part}`
routeArray.push(currentRoute)
}
return routeArray
}
const formatNumber = (number: any): string => {
if (number == null || number === '' || isNaN(number)) {
return '0'
}else{
const value = parseFloat(number.toString())
return new Intl.NumberFormat('id-ID').format(value)
}
}
const formatPercentage = (number: string | number): string => {
if(number == null || number === ''){
return '0%'
}else{
const value = parseFloat(number.toString())
const result = `${value.toFixed(2)}`
if (result.includes('.00')) {
return `${result.replace('.00', '')}%`
} else {
return `${result}%`
}
}
}
const isNumber = (value: any): boolean => {
return !isNaN(value)
}
export {
splitRoutePath,
formatNumber,
formatPercentage,
isNumber
}