mirror of
https://gitee.com/vant-contrib/vant.git
synced 2025-04-06 03:57:59 +08:00
refactor(utils): enhanced number formatter (#7921)
This commit is contained in:
parent
d28e535d03
commit
087ac07a14
@ -4,6 +4,7 @@ export function range(num: number, min: number, max: number): number {
|
|||||||
|
|
||||||
function trimExtraChar(value: string, char: string, regExp: RegExp) {
|
function trimExtraChar(value: string, char: string, regExp: RegExp) {
|
||||||
const index = value.indexOf(char);
|
const index = value.indexOf(char);
|
||||||
|
let prefix = '';
|
||||||
|
|
||||||
if (index === -1) {
|
if (index === -1) {
|
||||||
return value;
|
return value;
|
||||||
@ -13,7 +14,13 @@ function trimExtraChar(value: string, char: string, regExp: RegExp) {
|
|||||||
return value.slice(0, index);
|
return value.slice(0, index);
|
||||||
}
|
}
|
||||||
|
|
||||||
return value.slice(0, index + 1) + value.slice(index).replace(regExp, '');
|
if (char === '.' && value.match(/^(\.|-\.)/)) {
|
||||||
|
prefix = index ? '-0' : '0';
|
||||||
|
}
|
||||||
|
|
||||||
|
return (
|
||||||
|
prefix + value.slice(0, index + 1) + value.slice(index).replace(regExp, '')
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
export function formatNumber(
|
export function formatNumber(
|
||||||
|
@ -116,6 +116,10 @@ test('formatNumber', () => {
|
|||||||
expect(formatNumber('-1.2', true)).toEqual('-1.2');
|
expect(formatNumber('-1.2', true)).toEqual('-1.2');
|
||||||
expect(formatNumber('-1.2-', true)).toEqual('-1.2');
|
expect(formatNumber('-1.2-', true)).toEqual('-1.2');
|
||||||
expect(formatNumber('123-')).toEqual('123');
|
expect(formatNumber('123-')).toEqual('123');
|
||||||
|
|
||||||
|
// special cases
|
||||||
|
expect(formatNumber('.1', true)).toEqual('0.1');
|
||||||
|
expect(formatNumber('-.1')).toEqual('-0.1');
|
||||||
});
|
});
|
||||||
|
|
||||||
test('addUnit', () => {
|
test('addUnit', () => {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user