扫码关注官方订阅号
vm.amount = vm.price * vm.number 怎么保留两位小数?
希望得到大家的帮助,谢谢!
$scope.$watch 监视 vm.price 的值,改动时计算,保留两位小数。
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script> </head> <body> <p ng-app="myApp" ng-controller="personCtrl"> <input type="text" ng-model="vm.price" name="price" placeholder="请输入成交单价" required/> {{ vm.price }}<br /> <input type="text" ng-model="vm.number" name="number" placeholder="请输入成交数量" required/> {{vm.number}}<br /> <input type="text" ng-model="vm.amount" name="amount" placeholder="请输入成交价格" required/> {{vm.amount}}<br /> </p> <script> var app = angular.module('myApp', []); app.controller('personCtrl', function($scope) { $scope.vm = { price : 2.111111, number : 5 }; var calc = function(){ if( !isNaN($scope.vm.price) && !isNaN($scope.vm.number) ){ $scope.vm.amount = (parseFloat($scope.vm.price) * parseFloat($scope.vm.number)).toFixed(2); } }; $scope.$watch("vm.price",calc); $scope.$watch("vm.number",calc); }); </script> </body> </html>
如果 vm.amount 不用输入,可以不使用 toFixed(),直接用 filter 为 2位的小数,设置后 input 就不允许输入了。
<input type="text" ng-model="vm.amount | number:2" name="amount" placeholder="请输入成交价格" required/>
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
$scope.$watch 监视 vm.price 的值,改动时计算,保留两位小数。
如果 vm.amount 不用输入,可以不使用 toFixed(),直接用 filter 为 2位的小数,设置后 input 就不允许输入了。