UNPKG

951 BJavaScriptView Raw
1"use strict";
2
3exports.__esModule = true;
4exports.isNumberKey = isNumberKey;
5exports.preventNonNumberKey = preventNonNumberKey;
6exports.roundToPrecision = roundToPrecision;
7exports.calculatePrecision = calculatePrecision;
8
9function isNumberKey(event) {
10 var charCode = event.which ? event.which : event.keyCode;
11 if (event.key === ".") return true;
12 if (charCode > 31 && (charCode < 48 || charCode > 57) && (charCode < 96 || charCode > 105) && charCode !== 110) return false;
13 return true;
14}
15
16function preventNonNumberKey(event) {
17 if (!isNumberKey(event)) {
18 event.preventDefault();
19 }
20}
21
22function roundToPrecision(value, precision) {
23 return parseFloat(value).toFixed(precision);
24}
25
26function calculatePrecision(value) {
27 var groups = /[1-9]([0]+$)|\.([0-9]*)/.exec(String(value));
28
29 if (!groups) {
30 return 0;
31 }
32
33 if (groups[1]) {
34 return -groups[1].length;
35 }
36
37 if (groups[2]) {
38 return groups[2].length;
39 }
40
41 return 0;
42}
\No newline at end of file