245px থেকে কীভাবে "px" মুছবেন


উত্তর:


186

245px245 এ রূপান্তর করতে কেবল রান করুন:

parseInt('245px', 10);

এটি কেবলমাত্র শীর্ষস্থানীয় সংখ্যা ধরে রেখেছে এবং বাকি সমস্ত অংশ ত্যাগ করে।


7
এটি সবচেয়ে মারাত্মক উপায়, তবে আপনার সর্বদা রেডিক্স নির্দিষ্ট করা উচিতparseInt('245px', 10)
জাস্টিন জনসন

আপনি ঠিক বলেছেন: '0' দিয়ে স্ট্রিং শুরু হওয়ার সাথে (অদ্ভুত) ডিফল্টটি অষ্টাল হয় ... আমি কতবার ত্রুটি পেয়েছি parseInt('09')!
ডন

4
মান 35.5px এর মত হলে আপনি কী করবেন..পারসী ব্যবহারের ফলে কেবল 35 টির ফলাফল হবে
মুহাম্মদ উমর

4
@ মুহাম্মাদ উমর: আপনি 'পার্সফ্লোট' ( w3schools.com/jsref/jsref_parsefloat.asp ) ব্যবহার করতে পারেন
ডন

38

ব্যবহার

var size = parseInt('245px', 10);

যেখানে 10 হ'ল রেডিক্স সংজ্ঞায়িত parseIntহয় একটি দশমিক মানকে পার্স করে

পার্সিয়ান্ট ব্যবহার করুন তবে একটি রেডিক্স ছাড়াই পার্সেন্ট ব্যবহার করবেন না

ParseInt () ফাংশন একটি স্ট্রিংকে পার্স করে এবং পূর্ণসংখ্যা ফেরত দেয়।

স্বাক্ষরটি হ'ল parseInt(string, radix)

দ্বিতীয় যুক্তি একটি বেস দশ নম্বর সিস্টেম ব্যবহার করতে পার্সেন্টকে বাধ্য করে।

  • ParseInt () এর জন্য ডিফল্ট ইনপুট টাইপ দশমিক (বেস 10) base
  • যদি সংখ্যাটি "0" থেকে শুরু হয় তবে এটি অষ্টাল (বেস 8) হিসাবে ধরে নেওয়া হয়।
  • যদি এটি "0x" এ শুরু হয় তবে এটি হেক্সাডেসিমাল বলে ধরে নেওয়া হয়

কেন? যদি $ (এটি) at


19

শেষে "পিক্সেল" ছাড়াই পিক্সেল মান রূপান্তর করতে। পার্সফ্লোট ব্যবহার করুন।

parseFloat('245px'); // returns 245      

দ্রষ্টব্য: আপনি যদি পার্সেন্ট ব্যবহার করেন তবে মানটি পূর্ণসংখ্য হলে মানটি সঠিক হবে। মানটি যদি 245.50px এর মতো দশমিক এক হয় তবে মানটি 245 এর সাথে গোল করা হবে।


যথার্থ করার জন্য আমার সম্পাদনাটি প্রত্যাখ্যান করা হওয়ায়, আমি এটিকে মন্তব্যে রাখব, parseFloat()যেমন রেডিক্স গ্রহণ করবে না parseInt()(দেখুন বিকাশকারী.মোজিলা.আর.ইন- ইউএস / ডকস / ওয়েব / জাভা স্ক্রিপ্ট / রেফারেন্স /… এবং স্ট্যাকওভারফ্লো.com/ প্রশ্নগুলি / 8555649 /… )
ওয়াক্স

17

এটি আপনি যা চান ঠিক তা করে: একটি স্ট্রিংয়ের শেষ দুটি অক্ষর সরান:

s.substr(0, s.length-2);

5

আশ্চর্যজনকভাবে, সাবস্ট্রিং পদ্ধতিটি s.substr(0, s.length-2);অপসারণের জন্য আসলে বেশ কিছুটা দ্রুত px(হ্যাঁ এটি পরিষ্কার হিসাবে ততটা ভাল নয়, এবং যদি কোনও স্থান থাকে তবে তা থেকে যায় - "250px" -> "250"বনাম)"250 px" -> "250 " )।

আপনি যদি ফাঁকা জায়গাগুলির জন্য অ্যাকাউন্ট করতে চান (যা আপনার সম্ভবত হওয়া উচিত) তবে .trim()ফাংশনটি ব্যবহার করা আসলে substrপরীক্ষাকে যথেষ্ট ধীর করে দেবে যে parseIntপদ্ধতিটি আসলে উচ্চতর হয়ে ওঠে।

ব্যবহারের একটি অতিরিক্ত সুবিধা parseInt(s, 10)হ'ল আপনিও একটি ধরণের রূপান্তর পান এবং তাৎক্ষণিকভাবে গাণিতিক কার্যগুলিতে এটি প্রয়োগ করা শুরু করতে পারেন।

সুতরাং শেষ পর্যন্ত, এটি ফলাফলের সাথে আপনি কী করার পরিকল্পনা করছেন তা নির্ভর করে।

  • যদি এটি কেবল প্রদর্শিত হয়, তবে ট্রিম ছাড়াইsubstr পদ্ধতিটি ব্যবহার করা সম্ভবত আপনার সেরা বাজি হবে।
  • যদি আপনি কেবল px ব্যতীত মানটি অন্য মানের সাথে একই কিনা তা দেখার চেষ্টা করছেন s.substr(0, s.length-2) == 0, তবে substrপদ্ধতিটি ব্যবহার করা সবচেয়ে ভাল"250 " == 250 (এমনকি স্থানের সাথেও) এর ফলাফল হবেtrue
  • আপনি যদি কোনও জায়গার সম্ভাবনার জন্য অ্যাকাউন্ট করতে চান, এটি অন্য কোনও মানতে যুক্ত করুন বা এর সাথে কোনও কিছু গণনা করতে চান, তবে আপনি parseIntরুটটির সাথে যাওয়ার বিষয়টি বিবেচনা করতে চাইতে পারেন ।

http://jsperf.com/remove-px-from-coord

Jspref- এ পরীক্ষাগুলি একটি স্থানের জন্য অ্যাকাউন্ট করে। আমি একটি s.split('px')[0]এবং s.replace(/ *px/g, '')ফাংশনও চেষ্টা করেছিলাম , উভয়ই ধীর হয়ে গেছে।

অতিরিক্ত পরীক্ষার কেস যোগ করতে নির্দ্বিধায়।


1

যদিও পার্সিয়ান্ট () একটি ভাল বিকল্প তবে তবুও এটির অন্যান্য অনেকগুলি সমাধান থাকা ভাল

var pixels = '245px';
Number(pixels.replace('px', ''));


0

আমি পছন্দ করি: "245px".replace(/px/,'')*1

যেহেতু এটি ইনপুটটি ঘিরে নেই।

এছাড়াও, *1এটি আন্তঃতে কাস্টিংয়ের জন্য।


0

substr()হয় এখন একটি উত্তরাধিকার বৈশিষ্ট্য ; ব্যবহার substring()পরিবর্তে: (সিনট্যাক্স একই এই ক্ষেত্রে )

str.substring(0, str.length-2);

অথবা, ব্যবহার করুন slice():

str.slice(0, -2);

slice()দেখতে অনেক ক্লিনার, আইএমও। নেতিবাচক মানগুলি শেষ থেকে গণনা করে।


এটি যদিও কম মূল্যবান ফাংশন তৈরি করে, কারণ এটি remমানগুলির জন্য ব্যবহার করা যায় না ।
অ্যালান শর্টিস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.