добавить два знака после запятой в конце модели

#javascript #angularjs

#javascript #angularjs

Вопрос:

У меня есть модель, которая содержит цифры в этом формате

 10000000
200000000
3000000000
70000000
  

и вот модель

 {{myData}}
  

Я могу форматировать данные, но это добавляет два знака после запятой в начале переменной, используя это

 {{myData | number : 2}} which prints 100.00000
  

как добиться этого для переменных — моя задача

 100000.00
  

Комментарии:

1. Этот фильтр не выдает то, что вы говорите, что он делает

2. да, это не так, я искал способ обрезать два нуля из последней переменной

Ответ №1:

Разделите на 100 и используйте toFixed() в результате

 {{ (myData/100).toFixed(2) }}
  

 angular.module('app',[]).controller('Ctrl', function($scope){
   $scope.myData = 1000
})  
 <script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.7.5/angular.min.js"></script>
<div ng-app="app"  ng-controller="Ctrl">
     {{(myData/100).toFixed(2)}}
   </div>  

Комментарии:

1. Сработало как по волшебству!

2. Если вы хотите, чтобы разделители тысяч могли использовать number:2 filter вместо этого после разделения

3. {{ (myData/100) | number:2 }}

4. оба дали одинаковый результат

Ответ №2:

Вы можете напрямую использовать в угловом представлении html, где вы динамически отображаете значение в виде:

 {{ parseFloat(myData).toFixed(2) }}
  

Ответ №3:

Для этого вы можете использовать toFixed()

Вид:

 <div>
  {{parseFloat(myData).toFixed(2)}}
</div>
  

JS:

 $scope.parseFloat = parseFloat;
$scope.myData = 1000
  

пример:http://plnkr.co/edit/3ROw6aKdfCwwTdYp0rJi?p=preview

Комментарии:

1. могу ли я добиться этого в представлении, а не в коде javascript

2. @user10445503 вы должны добавить метод parseFloat в $scope. Вот пример plnkr.co/edit/3ROw6aKdfCwwTdYp0rJi?p=preview

3. Я думаю, вы не понимаете, что я имею в виду >>> если вы проанализируете 1000, это должно быть 10.00 в качестве результата