Skip to content

NumbertoWord Plugin ​

A Service for converting numbers to words in both Nepali and English using the Nepali numbering system. Supports negative numbers, decimals, and currency conversion up to Kharaab/खर्ब.

Features ​

  • Bilingual Support: Convert numbers to words in Nepali or English
  • Nepali Numbering System: Supports Hundred, Thousand, Lakh, Crore, Arab, and Kharaab
  • Negative Numbers: Handles negative values with proper prefix
  • Decimal Support: Converts decimals as Paisa (currency mode) or Point (standard mode)
  • Currency Mode: Optional currency formatting with Rupees and Paisa
  • Large Numbers: Handles values up to 99,99,99,99,99,999 (Kharaab range)

Service Reference ​

numToWord ​

Converts a numeric value into its word representation.

typescript
numToWord(
    input: number | string,
    nepali?: boolean,
    currencyConverter?: boolean
): string

Parameters ​

ParameterTypeDefaultDescription
inputnumber | string-The numeric value to convert
nepalibooleanfalseWhether to output in Nepali or English
currencyConverterbooleantrueWhether to format as currency (Rupees/Paisa) or standard (Point)

Returns ​

string - The number expressed in words

Usage Examples ​

Using the Plugin in Vue Components ​

The number to words converter is available as a global plugin in Vue components via $numToWords:

vue
<template>
  <div>
    <!-- English currency format -->
    <p>{{ $numToWords(1234567.5) }}</p>
    <!-- Output: Twelve Lakh Thirty Four Thousand Five Hundred Sixty Seven Rupees Fifty Paisa -->

    <!-- Nepali currency format -->
    <p>{{ $numToWords(1234567.5, true) }}</p>
    <!-- Output: बाह्र लाख चौँसठी हजार पाँच सय सड़सठ रुपैयाँ पचास पैसा -->

    <!-- English standard format -->
    <p>{{ $numToWords(123.456, false, false) }}</p>
    <!-- Output: One Hundred Twenty Three Point Four Five Six -->
  </div>
</template>

<script setup lang="ts"></script>

Using the Function Export ​

You can also import and use the converter directly:

typescript
import { numToWord } from "dolphin-components";

// English currency format (default)
numToWord(1234567.5);
// Output: "Twelve Lakh Thirty Four Thousand Five Hundred Sixty Seven Rupees Fifty Paisa"

// Nepali currency format
numToWord(1234567.5, true);
// Output: "बाह्र लाख चौँसठी हजार पाँच सय सड़सठ रुपैयाँ पचास पैसा"

// English standard format (non-currency)
numToWord(123.456, false, false);
// Output: "One Hundred Twenty Three Point Four Five Six"

English Examples ​

typescript
import { numToWord } from "dolphin-components";

// Basic numbers
numToWord(0);
// Output: "Zero"

numToWord(19);
// Output: "Nineteen Rupees"

numToWord(100);
// Output: "One Hundred Rupees"

// Thousands
numToWord(1500);
// Output: "One Thousand Five Hundred Rupees"

// Lakhs
numToWord(150000);
// Output: "One Lakh Fifty Thousand Rupees"

// Crores
numToWord(15000000);
// Output: "One Crore Fifty Lakh Rupees"

// With decimals
numToWord(1234.75);
// Output: "One Thousand Two Hundred Thirty Four Rupees Seventy Five Paisa"

Nepali Examples ​

typescript
import { numToWord } from "dolphin-components";

// Basic numbers
numToWord(0, true);
// Output: "शून्य"

numToWord(19, true);
// Output: "उन्नाइस रुपैयाँ"

numToWord(100, true);
// Output: "एक सय रुपैयाँ"

// Thousands
numToWord(1500, true);
// Output: "एक हजार पाँच सय रुपैयाँ"

// Lakhs
numToWord(150000, true);
// Output: "एक लाख पचास हजार रुपैयाँ"

// Crores
numToWord(15000000, true);
// Output: "एक करोड पचास लाख रुपैयाँ"

// With decimals
numToWord(1234.75, true);
// Output: "एक हजार दुई सय चौंतीस रुपैयाँ पचहत्तर पैसा"

Negative Numbers ​

typescript
import { numToWord } from "dolphin-components";

// Negative in English
numToWord(-500);
// Output: "Negative Five Hundred Rupees"

// Negative in Nepali
numToWord(-500, true);
// Output: "ऋण पाँच सय रुपैयाँ"

Standard (Non-Currency) Mode ​

typescript
import { numToWord } from "dolphin-components";

// English with decimal points
numToWord(123.456, false, false);
// Output: "One Hundred Twenty Three Point Four Five Six"

// Nepali with decimal points
numToWord(123.456, true, false);
// Output: "एक सय तेइस दश चार पाँच छ"

Large Numbers ​

typescript
import { numToWord } from "dolphin-components";

// Arab (100 Crore)
numToWord(1000000000);
// Output: "One Arab Rupees"

// Kharaab (100 Arab)
numToWord(100000000000);
// Output: "One Kharaab Rupees"

// Maximum supported
numToWord(999999999999.99);
// Output: "Nine Kharaab Ninety Nine Arab Ninety Nine Crore Ninety Nine Lakh Ninety Nine Thousand Nine Hundred Ninety Nine Rupees Ninety Nine Paisa"

Nepali Numbering System ​

The converter uses the Nepali numbering system with the following place values:

Place ValueEnglishNepaliValue
1Oneएक1
10Tenदश10
100Hundredसय100
1,000Thousandहजार1,000
1,00,000Lakhलाख100,000
1,00,00,000Croreकरोड10,000,000
1,00,00,00,000Arabअर्ब1,000,000,000
1,00,00,00,00,000Kharaabखर्ब100,000,000,000

Grouping Pattern ​

  • Last 3 digits: Hundreds (1-999)
  • Next 2 digits: Thousands (1,000-99,000)
  • Next 2 digits: Lakhs (1,00,000-99,00,000)
  • Next 2 digits: Crores (1,00,00,000-99,00,00,000)
  • Next 2 digits: Arab (1,00,00,00,000-99,00,00,00,000)
  • Next 2 digits: Kharaab (1,00,00,00,00,000+)

Example: 12,34,56,789 = Twelve Crore Thirty Four Lakh Fifty Six Thousand Seven Hundred Eighty Nine

Common Use Cases ​

  • Invoice Generation: Convert amounts to words on invoices and receipts
  • Check Writing: Generate written amounts for bank checks
  • Financial Reports: Display amounts in both numeric and word format
  • Legal Documents: Express monetary values in words for contracts
  • Educational Tools: Teaching number systems and language
  • Multilingual Applications: Support both English and Nepali speaking users
  • Accounting Software: Display human-readable amounts
  • Banking Applications: Transaction amount verification

Error Handling ​

  • Empty or null values return empty string
  • Invalid numbers return empty string
  • Non-numeric strings return empty string
  • Decimal places beyond 2 digits are handled gracefully in currency mode
  • All decimal digits are converted in standard mode