2016-02-19 68 views
35

與2位小數始終顯示號碼我有,我想在<input>與2位小數,始終顯示NG-model的浮點值:角度如何<input>

<input ng-model="myNumb" step ="0.01" type="number"> 

這適用於大多數情況下,當「myNumb」有小數。但如果「myNumb」小於2位小數(3.2)或整數(30)
如何強制在<input>字段中顯示2位小數位

+0

了type = 「數字」,如果我這樣做toFixed(2),它會拋出一個錯誤。 :( – WABBIT0111

回答

45

AngularJS - Input number with 2 decimal places它可以幫助... 濾波:

  • 設置的正則表達式來驗證使用NG-圖案的輸入。在這裏,我只想接受最多2位小數的數字和點分隔符。
  • <input type="number" name="myDecimal" placeholder="Decimal" ng-model="myDecimal | number : 2" ng-pattern="/^[0-9]+(\.[0-9]{1,2})?$/" step="0.01" /> 
    

    閱讀記憶着這種有人指出在接下來的答案ng-model="myDecimal | number : 2"

    +0

    完成,抱歉,我沒有考慮到,因爲我認爲在上下文中有更好的,但是,然後再次,你是對的。 –

    +1

    ,顯示「1」而不是「1.00」 –

    +1

    這並不奏效。檢查輸入是否不超過2位小數,但不會更改顯示的數字以顯示2位小數(即使它們爲0) –

    25

    您是否嘗試過使用過濾器

    <input ng-model='val | number: 2'> 
    

    https://docs.angularjs.org/api/ng/filter/number

    +3

    這實際上不會工作,因爲我使用這會引發錯誤。在這種情況下,我不能使用type =「number」 – WABBIT0111

    +8

    你不能在Angular中這樣做,ng-model只接受可賦值的表達式... https://docs.angularjs.org/error/ngModel/nonassign – jcc

    +0

    請參閱下面的鏈接http://stackoverflow.com/questions/30760310/number-filter-filters-number-down-to-two-decimals-but-does-not-display-it-that/42688335#42688335 –

    0

    使用貨幣濾波器空符號($)

    {{val | currency:''}} 
    
    +3

    這實際上不會工作,因爲我使用這會引發錯誤。在這種情況下我不能使用type =「number」 – WABBIT0111

    17
    {{value | number : fractionSize}} 
    

    {{12.52311 | number : 2}}

    所以這將如果您正在使用角2打印12.52

    6

    ,您可以使用以下方法來圓到小數點後兩位{{ exampleNumber | number : '1.2-2' }},如:

    <ion-input value="{{ exampleNumber | number : '1.2-2' }}"></ion-input> 
    

    擊穿

    '1.2-2'表示{minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}

    • 1位的最小將小數點之前顯示
    • 它將顯示小數點後至少2個數字
    • 但不超過2個數字

    信用由於herehere

    2

    刪除{maxFractionDigits}的另一個簡寫(@ maudulus的答案),因爲它是可選的。

    您可以使用{{numberExample | number : '1.2'}}