アングラーは枠の数字の千分位を入力して、何位の小数点を保留しますか?
1859 ワード
, ,
myApp.directive('price', function($parse) {
return {
link: function (scope, element, attrs, ctrl) {
//
function limit(){
var limitV=element[0].value;
limitV=limitV.replace(/[^0-9.]/g,"");
// 0
if ((/^0+[0-9]+$/).test(limitV)) {
limitV=limitV.replace(/\b(0+)/gi,"");
}
//
var digits = attrs['digits']?Number(attrs['digits']):2;
if (limitV*Math.pow(10,digits)%1!=0) {
var index = limitV.indexOf('.');
var last = index+digits+1;
limitV = (""+limitV).substring(0,last);
}
element[0].value=limitV;
$parse(attrs['ngModel']).assign(scope, limitV);
format();
}
//
function format(){
var formatV=element[0].value;
var array=new Array();
array=formatV.split(".");
var re=/(-?\d+)(\d{3})/;
while(re.test(array[0])){
array[0]=array[0].replace(re,"$1,$2")
}
var returnV=array[0];
for(var i=1;i
htmlコードの引用は、digitsが伝えたのは小数点以下の数位で、デフォルトでは伝えずに2位を保留します.