Angularjs 输入类型数字控制-显示精确到小数点后2位的数字值
我正在页面AngularJs应用程序中使用表单。下面是示例代码:Angularjs 输入类型数字控制-显示精确到小数点后2位的数字值,angularjs,html,Angularjs,Html,我正在页面AngularJs应用程序中使用表单。下面是示例代码: <form id="saveDailyCalFrm" name="saveDailyCalFrm" novalidate> <div class="row"> <div class="col-sm-12"> <span> Name :</span> </div> <div class="ho
<form id="saveDailyCalFrm" name="saveDailyCalFrm" novalidate>
<div class="row">
<div class="col-sm-12">
<span> Name :</span>
</div>
<div class="hoursSize">
<input class="form-control" name="name" type="text" ng-model="name" id="name"/>
</div>
<div class="row">
<div class="col-sm-12">
<span> Hours :</span>
</div>
<div class="hoursSize">
<input class="form-control" name="hrs" type="number" ng-model="dailyHour" id="dailyHours"/>
</div>
</form>
我已经在controller.js中编写了代码(timeEntry是存储记录的模型):
但我得到了以下错误:
[ngModel:numfmt]预期3.50
为一个数字
你可以尝试使用这个代码,我相信你能做到
var-app=angular.module('app',[]);
应用程序控制器('Ctrl',函数($scope){
$scope.value=2.55;
});
app.directive('floatValue',function(){
返回{
要求:'ngModel',
链接:功能(范围、元素、属性、模型){
ngModel.$parsers=[];
ngModel.$formatters=[];
}
};
});
安古拉斯普朗克
{{value}}
toFixed
返回字符串,而不是数字。感谢您的评论。但我也尝试了parseFloat(parseFloat($scope.timeEntry.HRS).toFixed(2)),即再次将字符串转换为float,即使它不起作用。我尝试了您的解决方案。我尝试了$scope.value=parseFloat(2.50).toFixed(2);(因为必须显示精确到小数点后2位的值)。但我仍然遇到同样的错误。你能建议其他解决方案吗?你能给我看一下你在plunker中的代码吗?所以,我会解决得更好。是的@Vijay您可以参考下面的plunckr url,其中我试图显示小数点后2位以内的小时数,但它不起作用:
if hour = 4 then show 4.00
if 2.5 then show 2.50 etc
$scope.dailyHour = (parseFloat($scope.timeEntry.HRS).toFixed(2));