[fix] metrics
This commit is contained in:
@@ -1,15 +1,15 @@
|
||||
|
||||
const convertion:[string,string,number][] = [
|
||||
['kg', 'lbs', 2.20462],
|
||||
['m', 'ft', 3.28084],
|
||||
['cm', 'in', 0.393701],
|
||||
['mm', 'in', 0.0393701],
|
||||
['km', 'mi', 0.621371],
|
||||
['killogram', 'pound', 2.20462],
|
||||
['meter', 'foot', 3.28084],
|
||||
['centimeter', 'inch', 0.393701],
|
||||
['millimeter', 'inch', 0.0393701],
|
||||
['kilometer', 'mile', 0.621371],
|
||||
const convertion:[string,string,number, boolean][] = [
|
||||
['kg', 'lbs', 2.20462, true],
|
||||
['m', 'ft', 3.28084, true],
|
||||
['cm', 'inch', 0.393701, false],
|
||||
['mm', 'inch', 0.0393701, false],
|
||||
['km', 'mi', 0.621371, true],
|
||||
['killogram', 'pound', 2.20462, true],
|
||||
['meter', 'foot', 3.28084, true],
|
||||
['centimeter', 'inch', 0.393701, true],
|
||||
['millimeter', 'inch', 0.0393701, true],
|
||||
['kilometer', 'mile', 0.621371, true],
|
||||
]
|
||||
|
||||
export function metricaPlugin(data:string, toSystem:'metrics'|'imperial'){
|
||||
@@ -20,12 +20,23 @@ export function metricaPlugin(data:string, toSystem:'metrics'|'imperial'){
|
||||
[from, to] = [to, from];
|
||||
ratio = 1 / ratio;
|
||||
}
|
||||
if(!c[i][3]){
|
||||
if(toSystem === 'metrics'){
|
||||
continue;
|
||||
}
|
||||
}
|
||||
const reg = new RegExp(`(\\d+(?:\\.\\d+)?)\\s*${from}`, 'g');
|
||||
data = data.replace(reg, (_, value) => {
|
||||
const result = parseFloat(value) * ratio;
|
||||
return `${result.toFixed(2)} ${to}`;
|
||||
});
|
||||
}
|
||||
//convert height like 5' 11'' to 180 cm
|
||||
const reg = /(\d+)'?\s*(\d+)"?/g;
|
||||
data = data.replace(reg, (_, feet, inch) => {
|
||||
const result = parseFloat(feet) * 30.48 + parseFloat(inch) * 2.54;
|
||||
return `${result.toFixed(2)} cm`;
|
||||
});
|
||||
|
||||
return data
|
||||
}
|
||||
Reference in New Issue
Block a user