2017-04-15 19:04:49 +02:00
|
|
|
import {Converter} from './converter';
|
2017-03-14 15:42:11 +01:00
|
|
|
|
2016-09-20 21:12:13 +02:00
|
|
|
export class BinToDecConverter implements Converter {
|
2017-04-15 18:51:22 +02:00
|
|
|
getDisplayname(): string {
|
2017-04-15 19:04:49 +02:00
|
|
|
return 'Convert binary to decimal';
|
2017-04-15 18:51:22 +02:00
|
|
|
}
|
2016-09-20 21:12:13 +02:00
|
|
|
|
2017-04-15 18:51:22 +02:00
|
|
|
getId(): string {
|
2017-04-15 19:04:49 +02:00
|
|
|
return 'bintodec';
|
2017-04-15 18:51:22 +02:00
|
|
|
}
|
2016-09-20 21:12:13 +02:00
|
|
|
|
2017-04-15 18:51:22 +02:00
|
|
|
convert(input: string): string {
|
2017-04-15 19:07:34 +02:00
|
|
|
const n: number = parseInt(input, 2);
|
2018-08-31 23:59:52 +02:00
|
|
|
if (isNaN(n) || !input.trim().match(/^([01]+)$/)) {
|
2017-04-15 19:04:49 +02:00
|
|
|
throw new Error('The input seems not to be a valid binary number.');
|
2016-09-20 21:12:13 +02:00
|
|
|
}
|
2017-04-15 18:51:22 +02:00
|
|
|
return n.toString(10);
|
|
|
|
}
|
2016-09-20 21:12:13 +02:00
|
|
|
}
|