2016-11-30 1 views
1

사용자가 숫자를 입력 할 수 있도록 HTML 입력 필드에서 작업하고 있습니다.금액 필드에 십진수를 추가하는 방법. (0.00)

기본적으로 0.00으로 표시해야하며 사용자가 금액을 입력하면 예 : 25, 25.00 값을 보내야합니다.

어떻게하면됩니까?

+3

체크 아웃 번호에'에서는 toFixed()'방법 : https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toFixed –

+3

가능 [자바 스크립트에서 정확히 두 소수 자릿수로 숫자 서식 지정] 복제본 (0120-385-301) – anu

+0

각도 js 태그를 제거했습니다. 그것을 참조하는 코드가 없기 때문입니다. 관련 코드를 추가 한 다음 각도 js 태그를 추가하십시오. 감사. – Sid

답변

3

$(".click").on('click', function() { 
 
    var val = $(".decimalInput").val(); 
 
    var decVal = parseFloat(val).toFixed(2); 
 
    $(".decimalInput").val(decVal) 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
 
<input value=0.00 class='decimalInput'> 
 
<button class='click'> 
 
    Click! 
 
</button>

+0

하나만 허용해야하는 여러 개의 십진수가 사용됩니다. – User123

+0

하나만 허용해야한다는 것은 무엇을 의미합니까? 하나의 입력 만? – philantrovert

1

는 두 개의 소수를 입력하도록 사용자를 제한하는 더 각도 JS 방식으로 솔루션입니다.

사용자는 세 자리 이상을 입력 할 수 없습니다. 또한 하나의 소수점

// Code goes here 
 

 
var app = angular.module('myApp', []); 
 
app.controller('formCtrl', function($scope) { 
 
    $scope.price = 0.00; 
 
\t $scope.onSubmit = function() 
 
\t { 
 
\t 
 
\t \t alert(parseFloat($scope.price).toFixed(2)); 
 
\t } 
 
}); 
 
app.directive("validateWith", [function(){ 
 
    return { 
 
     restrict: "A", 
 
     link: function($scope, $el, $attrs){ 
 
      var regexp = eval($attrs.validateWith); 
 
      var origVal; 
 
      // store the current value as it was before the change was made 
 
      $el.on("keypress", function(e){ 
 
       origVal = $el.val(); 
 
      }); 
 

 
      // after the change is made, validate the new value 
 
      // if invalid, just change it back to the original 
 
      $el.on("input", function(e){ 
 
       console.log(regexp.test($el.val())) 
 
       if(!regexp.test($el.val())){ 
 
        e.preventDefault(); 
 
        $el.val(origVal); 
 
       } 
 
       
 
      }); 
 
     } 
 
    } 
 
}]);
<!DOCTYPE html> 
 
<html> 
 

 
    <head> 
 
    <link rel="stylesheet" href="style.css"> 
 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.8/angular.min.js"></script> 
 
    <script src="script.js"></script> 
 
    </head> 
 

 
    <body> 
 
<div ng-app="myApp" ng-controller="formCtrl"> 
 
<form name="myForm" ng-submit="onSubmit()"> 
 
    <input type="number" ng-model="price" name="price_field" required validate-with="/^\d{1,5}(\.\d{1,2})?$/" step="0.01" value="0.00"/> 
 
    <span ng-show="myForm.price_field.$error.pattern">Not a valid number!</span> 
 
    <input type="submit" value="submit"/> 
 
</form> 
 
</div> 
 
    </body> 
 

 
</html>

이 코드를 실행하십시오.

Here is a Working demo

관련 문제