Last active
June 5, 2018 02:00
-
-
Save meklu/3cfb6554379f594b9bad970eba0e35e1 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* Lisenssi: CC-0 */ | |
/* Fiksaa tuhaterotinhäröilyt. | |
* Tämän jälkeen voi normalisoida kivasti yhdellä passilla :) | |
*/ | |
const erotus = (str) => { | |
const pilkku_i = str.indexOf(",") | |
const piste_i = str.indexOf(".") | |
if (pilkku_i < piste_i) { str = str.replace(/,/g, "") } | |
else { str = str.replace(/\./g, "") } | |
return str | |
} | |
/* Normalisoi loppuun asti */ | |
const normalisoi = (str) => { | |
str = erotus(str) | |
str = str.replace(/,/g, ".") | |
str = str.replace(/[^0-9\.]/g, "") | |
return str | |
} | |
/* Konvertoi penneiksi */ | |
const pennita = (str) => { | |
str = normalisoi(str) | |
const palat = str.split(".") | |
const loppuosa = (palat | |
.slice(1) | |
.join("") | |
.substr(0, 2) | |
.padEnd(2, "0") | |
) | |
return ( | |
(parseInt(palat[0], 10) * 100) + // markat | |
parseInt(loppuosa, 10) // pennit | |
) | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Tuhaterottimien tuhoaminen tapahtuu seuraavasti:
Tämän jälkeen desimaalierottimen voi normalisoida normaalisti ja poistaa sen jälkeen epäasialliset merkitkin:
Pennitys toimii™: