arithmetic-operation-with-prefix-zero
Version:
Adding without losing prefix zero
79 lines (56 loc) • 2.18 kB
JavaScript
numberLength=(input)=>{
input=(input<=0.1)?input*-1:input;
if(input==10)return 2;
var length = 0;
for( iloopCounter = 10 ; 1 ;iloopCounter*=10){
length ++;
if(Math.floor(input/iloopCounter)==0 || input/iloopCounter <0)break;
}
return length;
}
exports.addWithZero = function(input,addvalue) {
if(addvalue<=0){ console.log("AddValue should be greater than zero")
return 0;
}
var addedNumber = Number(input)+Number(addvalue);
var prefixZero="";
for(let iloopCounter = numberLength(addedNumber) ; iloopCounter < input.length; iloopCounter++){
prefixZero = "0" + prefixZero ;
}
return prefixZero+addedNumber.toString() ;
}
exports.subWithZero = function(input,addvalue) {
if(addvalue<=0){ console.log("SubValue should be greater than zero")
return 0;
}
var minus ="";
if(addvalue>Number(input)){ minus="-"}
var addedNumber = Number(input)-Number(addvalue);
var prefixZero="";
for(let iloopCounter = numberLength(addedNumber) ; iloopCounter < input.length; iloopCounter++){
prefixZero = "0" + prefixZero ;
}
return minus+prefixZero+((addedNumber<=-0.1)?addedNumber*-1:addedNumber).toString() ;
}
exports.multiplyWithZero = function(input,addvalue) {
var minus ="";
if(addvalue<=(-0.1)){ minus="-"}
if(addvalue==0) return 0;
var addedNumber = Number(input)*Number(addvalue);
var prefixZero="";
for(let iloopCounter = numberLength((addedNumber<=-0.1)?addedNumber*-1:addedNumber) ; iloopCounter < input.length; iloopCounter++){
prefixZero = "0" + prefixZero ;
}
return minus+prefixZero+((addedNumber<=-0.1)?addedNumber*-1 :addedNumber).toString() ;
}
exports.divWithZero = function(input,addvalue) {
var minus ="";
if(addvalue<=(-0.1)){ minus="-"}
if(addvalue==0) { console.log("divValue should not be zero") ;return 0; }
var addedNumber = Number(input)/Number(addvalue);
var prefixZero="";
for(let iloopCounter = numberLength(addedNumber) ; iloopCounter < input.length-1; iloopCounter++){
prefixZero = "0" + prefixZero ;
}
return minus+prefixZero+((addedNumber<=-0.1)?addedNumber*-1 :addedNumber).toString() ;
}