Отображение числа в индийском формате с использованием угловых 2 - PullRequest
0 голосов
/ 20 декабря 2018

Я хочу напечатать числа с запятыми в качестве разделителей thousands, lacs, crores.например:

     10,000 - ten thousand
   1,00,000 - 1 lakh
  10,00,000 - 10 lakh
1,00,00,000 - 1 crore

Я использовал числовую трубу угловых чисел для реализации значений, разделенных запятыми, но не получая правильного вывода, он отображает как 1,000,000 - 10 lakh.

Как я могу реализовать вышеуказанную функциональность, используя angular / javascript или есть какой-нибудь канал для этого в angular?

Ответы [ 4 ]

0 голосов
/ 20 декабря 2018

Я надеюсь, что вы правильно использовали трубу,

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

 {{price|currency:'INR':true}}

, здесь приведен синтаксис скелета для валюты по углам

{{ value_expression | currency [ : currencyCode [ : display [ : digitsInfo [ : locale ] ] ] ] }}
0 голосов
/ 20 декабря 2018

Вы также можете сделать это с помощью регулярных выражений, таких как это в Javascript:

formatNumber = (num)=>{
    return num.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
}
var formattedNumber = formatNumber(10000000);
console.log(formattedNumber);
0 голосов
/ 20 декабря 2018

Вы можете использовать .toLocalString ()

Метод toLocaleString () возвращает строку с чувствительным к языку представлением этого числа.

var tenK= 10000;
var oneL = 100000;
var tenL = 1000000;
var oneCr = 10000000;
console.log(tenK.toLocaleString('en-IN'));
console.log(oneL.toLocaleString('en-IN'));
console.log(tenL.toLocaleString('en-IN'));
console.log(oneCr.toLocaleString('en-IN'));
0 голосов
/ 20 декабря 2018

Вы можете сделать это с помощью toLocaleString()

В localeString вам необходимо указать локали, в этом случае вам необходимо использовать en-IN

let num1 = 1000;
let num2 = 10000;
let num3 = 1000000;

console.log(num1.toLocaleString('en-IN'));
console.log(num2.toLocaleString('en-IN'));
console.log(num3.toLocaleString('en-IN'));
...