我已经看到regExp的一些东西,但出于某种原因我认为这应该更简单。也许不吧。也许regExp完全符合这一点,我不明白这个概念。哪个,我没有。我不懂regExp,这就是为什么我没有使用它。
但我想要做的是使用AngularJS构建一个基本的计算器。我的计算器有一个ng-disable功能用于我的等号。因此,不允许按下它,直到单击leftOperand,operator和rightOperand才会起作用。 现在我不想在点击时禁用小数,因为我可能需要它为我的rightOperand。
但实质上我想让我的代码反映“如果有一个运算符,那么rightOperand是rightOperand +任何其他操作数输入。否则,leftOperand将等于leftOperand +任何其他操作数输入。(这是目前正在工作,例如333 + 45948594。小数也有效。但是!它可以允许333.464.6454,我不希望这样。)
尝试实施: 还是/和/或/如果将一个小数放入leftOperand,则leftOperand不允许使用其他小数。如果rightOperand有小数,则rightOperand不允许其他小数。
最简单的方法是什么?
https://codepen.io/tevon/pen/Moewba
这是我的setDecimal方法,但它允许右侧和左侧操作数超过1位小数
$scope.setDecimal = function (decimalEntered) {
if ($scope.operator){
$scope.rightOperand += decimalEntered;
};
else {$scope.leftOperand += decimalEntered;
};
我给的是这样的东西:if string.indexOf('。')> -1 //然后做点什么 但老实说,我不知道如何处理“做某事”部分的工作,也不确定-1部分
不使用Jquery。
答案 0 :(得分:1)
因此,您将操作数构建为字符串。这意味着您可以测试当前在示波器上的操作数,以查看它是否有使用.indexOf的点。
if(myVariable.indexOf('。')=== -1)myVariable + ='。';
答案 1 :(得分:0)
当你考虑indexOf时你是对的 - 你只需要停止执行这个方法,如果已经有点 - 那么最简单的方法是return
if ($scope.rightOperand.indexOf('.')>-1) return;