راکت

کار با اعداد JS

4 پاسخ

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

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

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

ثبت پرسش جدید

پاسخ‌ها

4
احسان قربانی
احسان قربانی
@TimeRunner2359

تخصص: PHP ، در حال یادگیری لاراول ، MidLevel درفرانت اند

@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
@Mesusjk

تخصص: برنامه نویس جنگو و پایتون

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

شاید پاسخ شما همین‌جا باشد

احسان قربانی
احسان قربانی
@TimeRunner2359

تخصص: PHP ، در حال یادگیری لاراول ، MidLevel درفرانت اند

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

علی بیات
علی بیات
@ali.bayat

تخصص: توسعه دهنده ارشد وب

برای نمایش عدد فعلی در ماشین حساب، باید از یک متغیر استفاده کنی
و عدد رو به صورت یک 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

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

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