heli-agri
Version:
HeliAgri is a high-performance, feature-packed library for creating interactive maps on the web. It can display map tiles, vector data and markers loaded from any source on any web page. OpenLayers has been developed to further the use of geographic infor
39 lines (38 loc) • 1.24 kB
JavaScript
/**
* @module ol/string
*/
/**
* @param {number} number Number to be formatted
* @param {number} width The desired width
* @param {number} [precision] Precision of the output string (i.e. number of decimal places)
* @return {string} Formatted string
*/
export function padNumber(number, width, precision) {
const numberString = precision !== undefined ? number.toFixed(precision) : '' + number;
let decimal = numberString.indexOf('.');
decimal = decimal === -1 ? numberString.length : decimal;
return decimal > width
? numberString
: new Array(1 + width - decimal).join('0') + numberString;
}
/**
* Adapted from https://github.com/omichelsen/compare-versions/blob/master/index.js
* @param {string|number} v1 First version
* @param {string|number} v2 Second version
* @return {number} Value
*/
export function compareVersions(v1, v2) {
const s1 = ('' + v1).split('.');
const s2 = ('' + v2).split('.');
for (let i = 0; i < Math.max(s1.length, s2.length); i++) {
const n1 = parseInt(s1[i] || '0', 10);
const n2 = parseInt(s2[i] || '0', 10);
if (n1 > n2) {
return 1;
}
if (n2 > n1) {
return -1;
}
}
return 0;
}