از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
جاوا اسکریپت تبدیل رشته به شماره مدیریت داده یکی از مفاهیم اساسی برنامه نویسی است. تبدیل عدد به رشته یک عملیات معمول و ساده است. همین امر در مورد برعکس، تبدیل رشته به عدد نیز صدق می کند. تبدیل رشته به عدد مانند روش های نشان داده شده قبلی، جاوا اسکریپت نیز توابع را ارائه می دهد…
سرفصلهای مطلب
معرفی
مدیریت داده یکی از مفاهیم اساسی برنامه نویسی است. تبدیل عدد به رشته یک عملیات معمول و ساده است. همین امر در مورد برعکس، تبدیل رشته به عدد نیز صدق می کند.
تبدیل رشته به عدد
مانند روشهای نشاندادهشده قبلی، جاوا اسکریپت نیز توابعی را برای تبدیل آسان یک رشته به یک عدد اولیه ارائه میکند. اینها هستند parseInt()
، parseFloat()
، Math.floor()
، Math.ceil()
، Unary Operator / Multiply by 1
.
.parseInt()
یک رشته را به عنوان اولین آرگومان و پایه ای که رشته به آن تبدیل می شود، می گیرد. این متد همیشه یک عدد صحیح برمی گرداند..parseFloat()
یک رشته را به عنوان آرگومان می گیرد و معادل عدد نقطه شناور را برمی گرداند.Math.floor()
برای گرد کردن یک عدد صحیح یا ممیز شناور استفاده می شود. نزدیکترین عدد صحیح را که به پایین گرد شده برمی گرداند.Math.ceil()
می توان از آن برای گرد کردن یک عدد صحیح یا ممیز شناور استفاده کرد.Unary Operator
با افزودن الف+
قبل از یک رشته علامت بزنید، اگر از فرمت درست پیروی کند به عدد تبدیل می شود.Multiply by 1
اگر یک رشته در عدد اولیه ضرب شود
1
، رشته به عدد تبدیل می شود.
parseInt()
پایه را می توان با افزودن پیشوندهایی به اعدادی که می خواهیم تجزیه کنیم تعریف کرد:
- بدون پیشوند – اگر پیشوندی وجود نداشته باشد، ریشه 10 (اعشاری) است.
- 0 – اگر پیشوند باشد
0
، سپس ریشه 8 (اکتال) است. اگرچه، این ویژگی منسوخ شده است. - 0x – اگر پیشوند باشد
0x
، سپس ریشه 16 (هگزادسیمال) است.
اگرچه، میتوانیم به سادگی یک آرگومان اختیاری به فراخوانی متد اضافه کنیم و پایه را تعریف کنیم:
let str = '353';
let fltStr = '353.56';
let binStr = '7';
let nanStr = 'hello';
parseInt(str); // 353
parseInt(fltStr); // 353
parseInt(binStr, 2); // 111 (Binary)
parseInt(nanStr); // NaN (Not a Number)
parseFloat()
let str = '100';
let fltStr = '100.21';
let nanStr = 'bye';
parseFloat(str); // 353
parseFloat(fltStr); // 353.21
parseFloat(nanStr); // NaN
Math.floor()
با کمال تعجب، این روش می تواند رشته ها را نیز بپذیرد، و در عین حال راهی برای تبدیل یک رشته به یک عدد صحیح است.
let str = '100';
let fltStr = '99.89';
let nanStr = 'bye';
Math.floor(str); // 100
Math.floor(fltStr); // 99
Math.floor(nanStr); // NaN
Math.ceil()
بسیار شبیه به روش قبلی است، اگرچه، این بار نزدیکترین عدد صحیح را گرد شده برمی گرداند بالا.
این روش میتواند رشتهها را بپذیرد، همچنین آن را راهی برای تبدیل یک رشته به عدد میکند:
let str = '100';
let fltStr = '100.21';
let nanStr = 'bye';
Math.ceil(str); // 100
Math.ceil(fltStr); // 101
Math.ceil(nanStr); // NaN
به خاطر داشته باشید که اگر می خواهید شناورها را تجزیه کنید، هر دو Math.floor
و Math.ceil
احتمالاً گزینه های خوبی نیستند زیرا آنها همیشه رشته ها را به نزدیکترین معادل عدد صحیح تبدیل می کنند.
اپراتور Unary
همانند Concatenating an Empty String، راه حلی نیز وجود دارد که عملکرد بهتری دارد اما خوانایی ندارد.
let str = '100';
let fltStr = '100.21';
let nanStr = 'greetings';
+str // 100
+fltStr // 100.21
+nanStr // NaN
+'1000' // 1000
+10.25 // 10.25
اگرچه مختصر و مؤثر است، اما این ویژگی خیلی شناخته شده جاوا اسکریپت نیست، بنابراین استفاده از آن توصیه نمی شود زیرا ممکن است درک کد شما را به راحتی درک نکند.
ضرب در 1
این رویکرد بدون شک سریعترین است:
let str = '100';
let fltStr = '100.21';
let nanStr = 'greetings';
str * 1; // 100
fltStr * 1; // 100.21
nanStr * 1; // NaN
'2000' * 1; // 2000
'102.15' * 1; // 102.15
دو رویکرد قبلی صرفاً به این دلیل کار میکنند که جاوا اسکریپت سعی میکند انواع دادههای مورد استفاده در یک عبارت مانند جمع یا ضرب را جذب کند.
استفاده از اشیاء رشته و عدد
روش دیگر برای تبدیل رشته به عدد یا عدد به رشته، ایجاد یک رشته یا شیء شماره جدید با new
کلمه کلیدی.
// Number to String
let numToStr = new String(2); // String {'2'}
// String to Number
let strToNum = new Number('2'); // Number {2}
با این حال، این عمل دلسرد. هنگام استفاده از داده های اولیه، روش های شی نباید برای ایجاد آنها استفاده شود.
نمونه سازی یک نوع داده اولیه با بسته بندی کلاس String یا Number مشکلات عملکرد و حافظه را به همراه دارد.
نتیجه
روش های معتبر زیادی برای دستکاری داده ها وجود دارد. این به برنامه نویس بستگی دارد که تصمیم بگیرد کدام یک را ترجیح می دهد، عملکرد را به خوانایی یا تعادل بین این دو انتخاب می کند.
برای اطلاعات بیشتر می توانید منابع زیر را مطالعه کنید:
(برچسبها برای ترجمه)# جاوا اسکریپت
منتشر شده در 1403-01-25 22:37:04