2017-06-09 108 views
-1

我正在尝试制作一个计算器,并且我正在尝试使数字向上或向下移动一个值(即,如果我有1并按2,我希望它是12并作出一些举动成十进制)使数字向上或向下移动

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

使用逐尝试,但我新,所以我不知道如何正确地使用它:(

+3

您可以发表您的相关代码吗?如果我们看不到你在哪里=) – Hodrobond

+0

这样的事情,这很难帮助? https://codepen.io/hdl881127/pen/pwgKby –

+0

@丹尼尔H,我想他意味着他希望数字自动格式化为十进制。像:类型12,显示1,2。 – doutriforce

回答

0

你并不需要移动的第一个字符您可以用新数据替换旧数据:

// 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

如果您将显示器编号存储在单个变量中,则每次都需要乘以或除以10,如果使用小数基数。

或者它可能是一个数组数组,您可以移位。

+0

*数字数组*也称为字符串。 –

+0

@Jonasw不,不是。数字数组是数字数组。一组字符称为字符串。 '数字!==字符串','字符===字符串' –

+0

@scott马库斯我指的是问题的上下文 –

0

您需要移动左边的数字。当你在十进制系统中工作时(基于10的幂),你可以将当前数字乘以10并添加新数字。让我们通过一个例子:

初始数量:

x = 0 

1压;您需要更新您的号码

x = 10 * x + 1 // = 1 

2被按下;你需要更新你的号码

x = 10 * x + 2 // = 12 

我假设你理解这里的模式。

+0

ive评论第二=出,如果有人有将其复制到控制台的想法会导致语法错误......请随时回滚 –