Giter Site home page Giter Site logo

asammour / tafqeetjs Goto Github PK

View Code? Open in Web Editor NEW
47.0 6.0 21.0 11 KB

كود بسيط يقوم بتحويل الأرقام إلى حروف عربية، أو ما تسمى بعملية التفقيط

Home Page: https://codepen.io/ASammour/pen/zWLdRR

License: MIT License

JavaScript 90.79% HTML 9.21%
javascript tafqeet arabic-numbers html tafgeet

tafqeetjs's Introduction

TafqeetJs

كود بسيط يقوم بتحويل الأرقام إلى حروف عربية

بالعربية

التفقيط يعني تحويل الأرقام إلى حروف عربية، وهذا الكود يقوم بتحويل أي رقم من 0 لغاية 99 تريليونًا إلى حروف عربية. غالبًا ما يتم استخدام التفقيط في المعاملات المالية لتفسير الأرقام بالحروف لمنع التزوير.

بالإنجليزية

Tafqeet means converting numbers to Arabic characters, and this code converts any number from 0 to 99 trillion to Arabic characters. Tafqeet is often used in financial transactions to explain numbers in letters to prevent counterfeiting.

How to use?

<script src="Tafqeet.js"></script>
<script>
  var x = tafqeet (500); //خمسمائة
  x = tafqeet (41612); //واحد وأربعون ألفًا وستمائة واثنى عشر
  x = tafqeet (91); //واحد وتسعون
  x = tafqeet (60456456023441); //ستون تريليونًا وأربعمائة وستة وخمسون مليارًا وأربعمائة وستة وخمسون مليونًا وثلاثة وعشرون ألفًا وأربعمائة وواحد وأربعون
</script>  

tafqeetjs's People

Contributors

asammour avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

tafqeetjs's Issues

مشكلة في رقم الآحاد لأكبر من 100

تحياتي
شكرا لك للمرة الثانية على هذا الكود وهو يعمل بشكل ممتاز ولكن
يوجد مشكلة في رقم الآحاد للأرقام فوق ال100 - العديد من الأعداد لا تحول بشكل صحيح عند التجربة
حاولت ان اجد العلاقة وتوصلت ان اي رقم يحتوي على صفر في منتصفه يحدث خطأ في ترجمة الأرقام التي تلي الصفر مثل
109
124018
1000025
34000542
وشكرا لك مرة أخرى
وبانتظار الاجابة منك

طلب اضافة الكسور على الكود

تحياتي لك والله يعطيك العافية
ممكن طلب اضافة الكسور على الكود مع العملة "ريالا سعوديا لا غير" وعملة الكسور "هللة لا غير"
حاولت اني اضيفهم ولكن انا لست بمحترف في البرمجة وبالتالي احتاج للكود متكامل جاهز للنسخ
ملاحظة: اعلم انك اضفت الكسور ولكن لم استطع اضافتها للكود الرئيسي او لم اعرف كيف يتم استخدامها
وشكرا لك

احتساب الكسور

السلام عليكم ورحمة الله وبركاته

مرحبا اخي الكريم اشكرك على الكود الرائع بصراحة

استاذي هل يمكن تحديث الكود ليعمل ويدعم الكسور بعد الفاصله

مثلا
53.525
فقط ثلاثة وخمسون ديناراً كويتياً وخمسمائة وخمسة وعشرون فلساً لا غير

مثال السكربت في هذا الموقع
http://tafqit.com/

او مثال هذا السكربت
`var th = ['', 'ألف', 'مليون', 'مليار', 'تريليون'];
var dg = ['صفر', 'واحد', 'اثنين', 'ثلاثة', 'أربعة', 'خمسة', 'ستة', 'سبعة', 'ثمانية', 'تسعة'];
var tn = ['عشرة', 'أحد عشر', 'اثني عشر', 'ثلاثة عشر', 'أربعة عشر', 'خمسة عشر', 'ستة عشر', 'سبعة عشر', 'ثمانية عشر', 'تسعة عشر'];
var tw = ['عشرون', 'ثلاثون', 'الأربعين', 'خمسين', 'ستين', 'السبعين', 'ثمانين', 'تسعين'];

function toWords(s) {
s = s.toString();
s = s.replace( /[, ] /g, '');
if (s != parseFloat(s)) return 'لیس عدد';
var x = s.indexOf('.');
if (x == -1) x = s.length;
if (x > 15) return 'كبير جدا';
var n = s.split('');
var str = '';
var sk = 0;
for (var i = 0; i < x; i++) {
if ((x - i) % 3 == 2) {
if (n[i] == '1') {
str += ' ' + tn[Number(n[i + 1])];
i++;
sk = 1;
} else if (n[i] != 0) {

str += ' ' + tw[n[i] - 2] ;

}
} else if (n[i] != 0) {
str += ' ' + dg[n[i]] ;
if ((x - i) % 3 == 0)
str += ' مائة و';
sk = 2;
}
if ((x - i) % 3 == 1) {
if (sk) str += ' ' + th[(x - i - 1) / 3] ;
sk = 0;
}
}
if (x != s.length) {
var y = s.length;
str += 'و ';
for (var i = x + 1; i < y; i++)
str += ' ' + dg[n[i]] ;
}
return str.replace(/\s+/g, ' ');
}

console.log("23 : "+ toWords(23));
console.log("120: "+ toWords(120));

$(function () {
    $("#Text1").keyup(function () {
        var val = $(this).val();

        var rex = /^[0-9]+\.[0-9]+$/;
        var isdecimal = rex.test(val);

        var result = "";
        if (isdecimal) {
            result = toWords(val.split('.')[0]) + " ريال و" + toWords(val.split('.')[1]) + " بيسة";
        } else {
            result = toWords(val.split('.')[0]) + " ريال و" ;
        }

        $("#result").html("<b>" + result + "</b>");
    })
})
</script>`

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.