【发布时间】:2017-06-14 02:52:00
【问题描述】:
我已经看到了一些关于 regExp 的东西,但出于某种原因,我认为这应该更简单。也许不吧。也许 regExp 非常适合这个,我不明白这个概念。哪个,我没有。我不明白 regExp,这就是我没有使用它的原因。
但我想做的是使用 AngularJS 构建一个基本的计算器。我的计算器对我的等号有一个 ng-disable 功能。因此,在单击 leftOperand、operand 和 rightOperand 之前,它不允许被按下并且不会起作用。 现在我不想在单击时禁用小数点,因为我的 rightOperand 可能需要它。
但本质上我希望我的代码反映“如果有一个运算符,那么 rightOperand 是 rightOperand + 输入的任何其他操作数。否则,leftOperand 将等于 leftOperand + 输入的任何其他操作数。(这是目前正在工作,例如 333 + 45948594 有效。小数点也有效。但是!它可以允许 333.464.6454,我不希望这样)。
尝试实现: Also/And/Or/如果将小数放入 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 // then do something 但老实说,我不确定“做某事”部分如何工作,-1 部分也不知道
不使用 Jquery。
【问题讨论】:
标签: javascript angularjs