输入 2 个小数,假设前 2 个数字是小数
Input with 2 decimals, assume first 2 numbers are a decimal
在 Javascript / AngularJS 中执行以下操作的最佳方法是什么?
我有一个输入框和一个软数字 10 键(按钮)。
而不是让用户输入“.”在键盘上或按“.”在软垫上,输入应假定 2 位或更少的数字是小数
User Enters:
1 = 0.01
2 = 0.12
3 = 1.23
.00 = 123.00
它需要能够处理混合键盘和软键输入。
用户可以按“.”物理数字键盘上的键。软数字键盘只有 0 和 .00,没有“.”关键。
退格键将从右边删除一位数字。 100.50 然后单击退格键应该产生 10.50,而不是 100.5
"fixed decimal" 的优点是不需要输入“.”,这比在我右边的快速现金按钮之外输入整数要普遍得多。
货币格式化输入框中的值是一项要求,但超出了这个特定问题的范围。 (考虑使用 ng-currency 或 numbrojs(因为 ng-currency 将模型存储为浮点数))。
我目前正在解决这个问题:
function concatNumber(num)
{
if (vm.transaction.paymentAmount === undefined || vm.transaction.paymentAmount === 0 || vm.transaction.paymentAmount === '')
{
vm.transaction.paymentAmount = '0.0' + num;
return;
}
}
每当我在 JavaScript 中做任何涉及货币的事情时,我都会求助于 Accounting.js . Among the many other reasons 我推荐它,它还有助于自动格式化数字。
这是文档 demo 部分的 link。
我最终使用了字符串而不是数字。然后用 parseFloat()
转换字符串并除以 100。我在字符串值保持为 '100' 的过滤器中执行此操作 // $1.00
在 Javascript / AngularJS 中执行以下操作的最佳方法是什么?
我有一个输入框和一个软数字 10 键(按钮)。
而不是让用户输入“.”在键盘上或按“.”在软垫上,输入应假定 2 位或更少的数字是小数
User Enters:
1 = 0.01
2 = 0.12
3 = 1.23
.00 = 123.00
它需要能够处理混合键盘和软键输入。 用户可以按“.”物理数字键盘上的键。软数字键盘只有 0 和 .00,没有“.”关键。
退格键将从右边删除一位数字。 100.50 然后单击退格键应该产生 10.50,而不是 100.5
"fixed decimal" 的优点是不需要输入“.”,这比在我右边的快速现金按钮之外输入整数要普遍得多。
货币格式化输入框中的值是一项要求,但超出了这个特定问题的范围。 (考虑使用 ng-currency 或 numbrojs(因为 ng-currency 将模型存储为浮点数))。
我目前正在解决这个问题:
function concatNumber(num)
{
if (vm.transaction.paymentAmount === undefined || vm.transaction.paymentAmount === 0 || vm.transaction.paymentAmount === '')
{
vm.transaction.paymentAmount = '0.0' + num;
return;
}
}
每当我在 JavaScript 中做任何涉及货币的事情时,我都会求助于 Accounting.js . Among the many other reasons 我推荐它,它还有助于自动格式化数字。
这是文档 demo 部分的 link。
我最终使用了字符串而不是数字。然后用 parseFloat()
转换字符串并除以 100。我在字符串值保持为 '100' 的过滤器中执行此操作 // $1.00