2016-11-16 6 views
0

Как использовать метод toFixed() только в том случае, если строки больше 12? В противном случае я бы хотел, чтобы он отображался нормально, так что это похоже на обычное приложение для калькулятора. Я использовал метод максимального символа, но он не выглядит красивым и его не следует использовать.JavaScript для фиксированного метода

enter image description here

$(document).ready(function(){ 

var inputs=[""]; 

var totalString; 

var operators1=["+", "-", "/", "*"]; 
//opertors array with the . for validation 
var operators2=["."]; 

var nums = [0,1,2,3,4,5,6,7,8,9]; 

function getValue(input){ 
if(operators2.includes(inputs[inputs.length-1])===true && input==="."){ 
    console.log("Duplicate '.'"); 
} 
else if(inputs.length===1 && operators1.includes(input)===false) 
     { 
      inputs.push(input); 
     } 
else if(operators1.includes(inputs[inputs.length-1])===false){ 
    inputs.push(input); 
} 
else if(nums.includes(Number(input))){ 
    inputs.push(input); 
} 
update(); 
} 
function update(){ 
totalString = inputs.join(""); 
$("#steps").html(totalString); 
console.log(inputs); 
} 
function getTotal(){ 
totalString = inputs.join(""); 
$("#steps").html(eval(totalString)); 

} 
$("a").on("click", function(){ 
if(this.id==="deleteAll"){ 
    inputs=[""]; 
    update(); 
} 
else if(this.id==="backOne"){ 
    inputs.pop(); 
    update(); 

} 
else if(this.id==="total"){ 
    getTotal(); 

} 

else{ 

    if(inputs[inputs.length-1].indexOf("+","-","/","*")===-1) 
    { 
    getValue(this.id); 
    } 
    else 
    { 
     getValue(this.id); 
    } 
} 
}); 

}); 
+1

Вы могли бы даже заморачиваться не используя toFixed, например .. '(1234567890.123). toString(). substring (0,12) 'Вам может потребоваться дополнительная проверка, если есть. только в конце, но вы должны получить эту идею. – Keith

+0

@Keith Спасибо большое. Это сработало! – EyedFox1

ответ

0

если вы действительно должны использовать toFixed, то это может быть так:

let string = "333453453453453453"; 
string.length > 12 && (+string).toFixed();