# How To Convert Amount To Words In Angular

Hello Friends, In this article, we will learn how to convert the amount into words in angular using a custom Pipe.

First, we need to create a pipe namely “amount-to-word” to convert the amount into words.

`ng generate pipe amount-to-word`

Now put the below code in the “amount-to-word” pipe

```export class AmountToWordPipe implements PipeTransform {

transform(value: any, args?: any): any {
if (value) {
value = parseFloat(value).toFixed(2);
let amounth = value.toString().split(".");
let price: any = amounth[0];
let pointer: any = amounth.length > 0 ? amounth[1] : null;
var singleDigit = ["Zero", "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine"],
doubleDigit = ["Ten", "Eleven", "Twelve", "Thirteen", "Fourteen", "Fifteen", "Sixteen", "Seventeen", "Eighteen", "Nineteen"],
tensPlace = ["", "Ten", "Twenty", "Thirty", "Forty", "Fifty", "Sixty", "Seventy", "Eighty", "Ninety"],
handle_tens = function (digit: any, prevdigit: any) {
return 0 == digit ? "" : " " + (1 == digit ? doubleDigit[prevdigit] : tensPlace[digit])
},
handle_utlc = function (digit: any, nextdigit: any, denom: any) {
return (0 != digit && 1 != nextdigit ? " " + singleDigit[digit] : "") + (0 != nextdigit || digit > 0 ? " " + denom : "")
};

var rupees = "",
digitIndex = 0,
digit = 0,
nextDigit = 0,
words = [],
paisaWords = [],
paisa = "";
if (price += "", isNaN(parseFloat(price))) rupees = "";
else if (parseFloat(price) > 0 && price.length <= 10) {
for (digitIndex = price.length - 1; digitIndex >= 0; digitIndex--)
switch (digit = price[digitIndex] - 0, nextDigit = digitIndex > 0 ? price[digitIndex - 1] - 0 : 0, price.length - digitIndex - 1) {
case 0:
words.push(handle_utlc(digit, nextDigit, ""));
break;
case 1:
words.push(handle_tens(digit, price[digitIndex + 1]));
break;
case 2:
words.push(0 != digit ? " " + singleDigit[digit] + " Hundred" + (0 != price[digitIndex + 1] && 0 != price[digitIndex + 2] ? " and" : "") : "");
break;
case 3:
words.push(handle_utlc(digit, nextDigit, "Thousand"));
break;
case 4:
words.push(handle_tens(digit, price[digitIndex + 1]));
break;
case 5:
words.push(handle_utlc(digit, nextDigit, "Lakh"));
break;
case 6:
words.push(handle_tens(digit, price[digitIndex + 1]));
break;
case 7:
words.push(handle_utlc(digit, nextDigit, "Crore"));
break;
case 8:
words.push(handle_tens(digit, price[digitIndex + 1]));
break;
case 9:
words.push(0 != digit ? " " + singleDigit[digit] + " Hundred" + (0 != price[digitIndex + 1] || 0 != price[digitIndex + 2] ? " and" : " Crore") : "")
}
rupees = words.reverse().join("")
} else rupees = "";

if (rupees)
rupees = `\${rupees} Rupees`

if (pointer != "00") {
digitIndex = 0;
digit = 0;
nextDigit = 0;

for (digitIndex = pointer.length - 1; digitIndex >= 0; digitIndex--)
switch (digit = pointer[digitIndex] - 0, nextDigit = digitIndex > 0 ? pointer[digitIndex - 1] - 0 : 0, pointer.length - digitIndex - 1) {
case 0:
paisaWords.push(handle_utlc(digit, nextDigit, ""));
break;
case 1:
paisaWords.push(handle_tens(digit, pointer[digitIndex + 1]));
break;
}
paisa = paisaWords.reverse().join("");
if (rupees)
rupees = `\${rupees} and \${paisa} Paisa`
else
rupees = `\${paisa} Paisa`
}
return rupees
}
}
}```

So by this pipe, we will be able to Convert Numbers into Words easily.

Now we are use pipe in our components like below

```<input type="text" [(ngModel)]="amount">
<span>{{amount | amountToWord}}</span>```

Now here we are converting amount into words