@daysnap/utils
Version:
24 lines (22 loc) • 632 B
JavaScript
// src/parseDecimalString.ts
function parseDecimalString(val, options = {}) {
const { precision = 0, allowNegativeNumber = true } = options;
const reg = new RegExp(
`^${allowNegativeNumber ? "-?" : ""}(0|[1-9]\\d*)?${+precision === 0 ? "" : `(\\.?\\d{0,${precision}})?`}`,
"g"
);
val = val.match(reg)?.[0] ?? "";
if (val.startsWith("-00")) {
val = `-0`;
} else if (val.startsWith("-.")) {
val = "-";
} else if (val.startsWith(".")) {
val = "";
} else if (val.startsWith("0") && !val.startsWith("0.") && val.length > 1) {
val = `${+val}`;
}
return val;
}
export {
parseDecimalString
};