Mesusjk
4 سال پیش توسط Mesusjk مطرح شد
4 پاسخ

کار با اعداد JS

سلام دوستان. دارم یه ماشین حساب با JS میسازم. دوتا سوال دارم.

  • میخوام وقتی به یکی از عددهای ماشین حساب کلیک شد، توی قسمت نمایش (یا بفرض، صفحه نمایش ماشین حساب)، اون عدد به عدد قبل اضافه بشه. به این صورت: مثلا من به عدد 5 کلیک میکنم و توی صفحه نمایش عدد 5 رو نشون میده. حالا دوباره به عدد 3 میزنم. قاعدتا باید عدد 53 رو نشون بده.
  • دوم اینکه میخوام این عدد بدست اومده به شکل رقم نشون داده بشه. مثلا من عدد 74219 رو توی صفحه نمایش ماشین حسابم دارم. میخوام این عدد به این صورت نشون داده بشه: 74,219
    چطور باید این دوتا کار رو انجام بدم؟

@TimeRunner2359 @hosseinshirinegad98 @milad @mohsenbostan @forughi.vahid


ثبت پرسش جدید
احسان قربانی
تخصص : PHP ، در حال یادگیری لاراول ،...
@TimeRunner2359 4 سال پیش آپدیت شد
2

@Mesusjk
سلام و وقت بخیر
برای کار اول می‌تونید این لینک رو ببینید.
برای مشکل دوم هم این فانکشن میتونه مشکل شما رو حل کنه :

function numberize(num) {
    var len = num.length;
    let res = '';
    var times = Math.floor(len / 3);
    if (len > 3) {
        for (let index = times; index >= 0; index--) {
            if (index == 0) {
                res = num.slice(0, len % 3) + res;
            } else {
                res = ',' + num.slice(len - 3 * (times - index + 1), len - 3 * (times - index)) + res;
            }
        }
        console.log(res);
    } else {
        console.log(num);
    }
}
numberize('74212312312311354546'); // output : 74,212,312,312,311,354,546
numberize('333'); // output : 333
numberize('2242'); // output : 2,242

کاملا معلومه که بهینه نیست :)
تجربه دوستان بیشتره
موفق و سلامت باشید
یا حق


Mesusjk
تخصص : برنامه نویس جنگو و پایتون
@Mesusjk 4 سال پیش مطرح شد
0

@TimeRunner2359 خیلی ممنون. مشکل اولم حل شد. فقط برای دومی، چطور باید از فانشن استفاده کنم؟ باید توی فایل خودم قرارش بدم و فقط بهش ورودی بدم؟


احسان قربانی
تخصص : PHP ، در حال یادگیری لاراول ،...
@TimeRunner2359 4 سال پیش مطرح شد
0

@Mesusjk
بله ، توی همون بخشی که برای هر کلید یک eventlistner برای click میگذارید ، تهش این فانکشن رو روی اون مقداری که قراره توی صفحه نمایش ماشین حساب نمایش داده بشه ،‌ اعمال کنید


علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 4 سال پیش مطرح شد
2

برای نمایش عدد فعلی در ماشین حساب، باید از یک متغیر استفاده کنی
و عدد رو به صورت یک String ذخیره کنی و نه Integer (اگر اعداد Integer باشند با هم جمع میشند)

var current_number = '5';
var new_number = '3';
current_number = current_number + new_number;
//  53

برای فرمت کردن اعداد جاوااسکریپت API خوب و ساده ای داره که میتونی استفاده کنی:

var number = 3500;

console.log(new Intl.NumberFormat().format(number));
// → '3,500' if in US English locale

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام