2017-06-09 6 views
-1

Ich versuche einen Taschenrechner zu erstellen und versuche eine Zahl nach oben oder unten zu bewegen (dh wenn ich 1 habe und 2 drücke, möchte ich, dass es 12 ist machen und eine Reihe Umzug in eine Dezimalzahl)Eine Zahl nach oben oder nach unten bewegen

<script> 
var calcval1=0; 
var calcval2=0; 
var calcdis=1; 
document.getElementById("DISl").value =calcdis; 
function add1() 
{ 
calcdis+1; 
calcdis<<=0; 
} 
</script> 

versucht bitweise mit, aber ich bin so wusste ich nicht, wie es zu benutzen richtig :(

+3

Können Sie bitte Ihren relevanten Code posten? Es ist schwer zu helfen, wenn wir nicht sehen können, wo Sie sind =) – Hodrobond

+0

etwas wie das? https://codepen.io/hdl881127/pen/pwgKby –

+0

@DanielH, ich denke, er meint, dass er die Zahl automatisch auf Dezimal formatiert werden soll. Wie: Typ 12, Anzeige 1,2. – doutriforce

Antwort

0

Sie brauchen nicht das erste Zeichen zu bewegen Über, können Sie nur die alten Daten durch die neuen Daten ersetzen:

// Get the text field 
 
var txt = document.getElementById("calc"); 
 

 
// Get all the buttons 
 
var buttons = document.querySelectorAll("button"); 
 

 
// Loop through them and add a click event listener to each 
 

 
Array.prototype.slice.call(buttons).forEach(function(btn){ 
 
    btn.addEventListener("click", function(){ 
 
    calc.value += this.textContent; 
 
    }) 
 
});
<input type="text" id="calc"> 
 
<button id="btn1">1</button> 
 
<button id="btn2">2</button> 
 
<button id="btn3">3</button> 
 
<button id="btn4">4</button>

0

Wenn Sie Ihre Anzeigenummer in einer einzigen Variablen speichern, müssen Sie jedes Mal, wenn Sie mit der Dezimalbasis arbeiten, multiplizieren oder dividieren.

Oder es könnte eine Reihe von Ziffern sein, die Sie Positionen verschieben.

+0

* ein Array von Ziffern * auch String genannt. –

+0

@ Jonasw Nein, ist es nicht. Ein Array von Ziffern ist ein Array von Ziffern. Eine Gruppe von Zeichen wird als String bezeichnet. 'digit! == string',' character === string' –

+0

@scott marcus ich bezog mich auf Fragekontext –

0

Sie müssen die Zahl nach links verschieben. Da Sie im Dezimalsystem arbeiten (basierend auf den Potenzen von 10) können Sie einfach Ihre aktuelle Zahl mit 10 multiplizieren und die neue Zahl hinzufügen. Lassen Sie uns ein Beispiel gehen:

Anfangsnummer:

x = 0 

1 gedrückt wird; müssen Sie Ihre Nummer

x = 10 * x + 1 // = 1 

2 gedrückt aktualisieren; Sie müssen Ihre Nummer aktualisieren

x = 10 * x + 2 // = 12 

Ich nehme an, dass Sie das Muster hier verstehen.

+0

ive kommentierte den zweiten = aus, weil es ein Syntaxfehler wäre, wenn jemand die Idee hat, es in seine Konsole zu kopieren ... fühlen Sie sich frei, zurückzurollen –

Verwandte Themen