gpt4 book ai didi

javascript - 带零的整数键盘

转载 作者:行者123 更新时间:2023-12-03 08:07:43 24 4
gpt4 key购买 nike

我有一个指令,可以转换为小数点后两位(输入数字文本框)并且它运行良好,但我想用零填充整个数字。

有人知道如何用填充零获得整数吗?下面的例子。

2 -> 2.00 - 未完成
10.666 -> 10.67 - 完成

app.directive('toPrecision',['$filter', function ($filter) {
return {
replace: false,
restrict: 'A',
link: function(scope, element, attr) {
var input = angular.element(element);
var precisionValue = attr.toPrecision;
input.on('keyup', function() {
var parsed = parseFloat(input.val());
if (!isNaN(parsed)) {
if (parseInt(parsed, 10) !== parsed && String(parsed).split('.')[1].length > 2) {
var result = parsed.toFixed(precisionValue);
input.val(result);
}
}
});
}
}
}]);

HTML

<input type="number" class="form-control" ng-model="rate" to-precision="2" min="0" step="1">

最佳答案

结束了根据我想要的内容重写指令。

app.directive('toPrecision', function() {
return {
replace: false,
restrict: 'EA',
require: 'ngModel',
link: function(scope, element, attr, ngModelCtrl) {
var input = angular.element(element);
var precisionValue = attr.toPrecision;

ngModelCtrl.$parsers.push(function(value) {
var clean = value.replace(/[^-0-9\.]/g, '');
if (value !== clean) {
ngModelCtrl.$setViewValue(clean);
ngModelCtrl.$render();
}
return clean;
});

ngModelCtrl.$formatters.push(function(value) {
if (angular.isUndefined(value)) {
return "";
}
var parsed = parseFloat(value);
return parsed.toFixed(precisionValue);
});

input.on('blur', function() {
var parsed = parseFloat(input.val());
if (!isNaN(parsed)) {
var result = parsed.toFixed(precisionValue);
input.val(result);
ngModelCtrl.$setViewValue(result);
}
});

}
}});

关于javascript - 带零的整数键盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34304249/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com