Как преобразовать значение в валютный формат с 2 десятичными знаками? - PullRequest
0 голосов
/ 01 марта 2019

Как я могу преобразовать последние 2 числа заданного значения в десятичные дроби значения валюты?

Пример: 2499 должно получиться как 24,99, а не 2 499,00, что я сейчас получаю.

var price = $('.album').data("totalprice");
    
var newPrice = price.toFixed(2).replace(/\d(?=(\d{3})+\.)/g, '$&,');

console.log(newPrice);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<div class="album" data-totalprice="2499"></div>

Ответы [ 2 ]

0 голосов
/ 01 марта 2019

Использовать Intl.NumberFormat после деления суммы на 100

const n = 2499;
const f = new Intl.NumberFormat('de-DE', {
  style: 'currency',
  currency: 'EUR'
}).format(n / 100);
console.log(f);

См. Различные доступные параметры здесь .Конечно, вы также можете использовать Schweizer Franken в качестве валюты

0 голосов
/ 01 марта 2019

Используйте это \d{2} и удалите трейлинг .00, используя split

var price = $('.album').data("totalprice");
    
var newPrice = price.toFixed(2).replace(/\d(?=(\d{2})+\.)/g, '$&,');

console.log(newPrice.split('.')[0]);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<div class="album" data-totalprice="2499"></div>
...