Skip to content

Commit 8195434

Browse files
committed
use toFixed for prescision
1 parent bfdcdba commit 8195434

File tree

1 file changed

+3
-24
lines changed

1 file changed

+3
-24
lines changed

src/InputNumber.tsx

Lines changed: 3 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import * as React from 'react';
22
import classNames from 'classnames';
33
import KeyCode from 'rc-util/lib/KeyCode';
44
import { composeRef } from 'rc-util/lib/ref';
5-
import getMiniDecimal, { DecimalClass, ValueType } from './utils/MiniDecimal';
5+
import getMiniDecimal, { DecimalClass, toFixed, ValueType } from './utils/MiniDecimal';
66
import StepHandler from './StepHandler';
77
import { getNumberPrecision, num2str, trimNumber, validateNumber } from './utils/numberUtil';
88
import useCursor from './hooks/useCursor';
@@ -181,23 +181,7 @@ const InputNumber = React.forwardRef(
181181
// Separator
182182
const separatorStr = decimalSeparator || '.';
183183

184-
// Precision
185-
const { negativeStr, integerStr, decimalStr } = trimNumber(str);
186-
let precisionDecimalStr = `${separatorStr}${decimalStr}`;
187-
188-
if (mergedPrecision >= 0) {
189-
precisionDecimalStr =
190-
mergedPrecision > 0
191-
? `${separatorStr}${decimalStr
192-
.padEnd(mergedPrecision, '0')
193-
.slice(0, mergedPrecision)}`
194-
: '';
195-
} else if (precisionDecimalStr === '.0') {
196-
// Remove unnecessary `.0` of number
197-
precisionDecimalStr = '';
198-
}
199-
200-
str = `${negativeStr}${integerStr}${precisionDecimalStr}`;
184+
str = toFixed(str, separatorStr, mergedPrecision);
201185
}
202186

203187
return str;
@@ -292,12 +276,7 @@ const InputNumber = React.forwardRef(
292276
const numStr = updateValue.toString();
293277
const mergedPrecision = getPrecision(numStr, userTyping);
294278
if (mergedPrecision) {
295-
const { negativeStr, integerStr, decimalStr } = trimNumber(numStr);
296-
updateValue = getMiniDecimal(
297-
`${negativeStr}${integerStr}.${decimalStr
298-
.padEnd(mergedPrecision, '0')
299-
.slice(0, mergedPrecision)}0`,
300-
);
279+
updateValue = getMiniDecimal(toFixed(numStr, '.', mergedPrecision));
301280
}
302281

303282
// Trigger event

0 commit comments

Comments
 (0)