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) {
|
||||
const index = value.indexOf(char);
|
||||
let prefix = '';
|
||||
|
||||
if (index === -1) {
|
||||
return value;
|
||||
@ -13,7 +14,13 @@ function trimExtraChar(value: string, char: string, regExp: RegExp) {
|
||||
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(
|
||||
|
@ -116,6 +116,10 @@ test('formatNumber', () => {
|
||||
expect(formatNumber('-1.2', true)).toEqual('-1.2');
|
||||
expect(formatNumber('-1.2-', true)).toEqual('-1.2');
|
||||
expect(formatNumber('123-')).toEqual('123');
|
||||
|
||||
// special cases
|
||||
expect(formatNumber('.1', true)).toEqual('0.1');
|
||||
expect(formatNumber('-.1')).toEqual('-0.1');
|
||||
});
|
||||
|
||||
test('addUnit', () => {
|
||||
|
Loading…
x
Reference in New Issue
Block a user