jQuery / জাভাস্ক্রিপ্ট - আমি কীভাবে একটি পিক্সেল মান (20px) একটি সংখ্যার মান (20) তে রূপান্তর করব?


101

আমি জানি jQuery এর একক স্ট্রিংগুলিকে সংখ্যায় পার্স করার জন্য একটি সহায়ক পদ্ধতি রয়েছে। এটি করার জন্য jQuery পদ্ধতিটি কী?

var a = "20px";
var b = 20;
var c = $.parseMethod(a) + b;

parseInt (a, 10); যদি একটি স্ট্রিং হয় তবে NaN প্রত্যাবর্তন করুন
vanduc1102

উত্তর:


184

এর জন্য কোনও জিকিউরির দরকার নেই, প্লেইন ওল জেএস (টিএম) আপনার করবে,

parseInt(a, 10);

4
প্রতিদিনের মতো প্রতিদিন আমি আপনাকে আরও বেশি করে জাভাস্ক্রিপ্টটি ভালবাসি
জেমস ওয়েস্টগেট

1
এটি "20pt" বা "20 মিম" এর জন্য কাজ করবে না। parseInt ("20pt") == 20! পোস্টারের যা প্রয়োজন তা হতে পারে তবে আমি এক্স ("20 এম") ব্যবহার করতে সক্ষম হতে এবং পিক্সেলগুলিতে সত্য প্রস্থ ফিরে পেতে চাই।
লরেন্স আই সিডেন

2
@ সিডেন: এটি কাজ করে। parseInt("20em", 10) === 20এবং parseInt("20pt", 10) === 20। আপনার পছন্দসই ব্রাউজারের কনসোলটিতে প্রকাশের পেস্ট করুন বা এই খুব সংক্ষিপ্ত উদাহরণটি দেখুন । আপনার কোডটিতে অন্য কোথাও সমস্যা রয়েছে।
অ্যান্ডি ই

6
একটি বিভক্তি, parseIntফাংশনটি আসলে পূর্ণসংখ্যার অক্ষরের একটি স্ট্রিংয়ের শেষে সংযুক্ত কোনও অ-পূর্ণসংখ্যার অক্ষরগুলিকে উপেক্ষা করবে। parseInt('234sdfsdf') == 234
ক্রিস ডব্লিউ।

3
@ অ্যান্ডি: আইসিডেন বলছিলেন যে পার্সিয়ান্ট তাদের সমমানের পিক্সেল মানগুলিতে (বা পিটি বা অন্যদের) রূপান্তর করবে না, যা কিছু লোকের প্রয়োজন হতে পারে।
লেয়ার্টস

30

আরও সাধারণভাবে, parseFloatভাসমান-পয়েন্ট সংখ্যাগুলি সঠিকভাবে প্রক্রিয়া করা হবে, যেখানে parseIntনিঃশব্দে উল্লেখযোগ্য সংখ্যা হারাতে পারে:

parseFloat('20.954544px')
> 20.954544
parseInt('20.954544px')
> 20


5
$.parseMethod = function (s)
{
    return Number(s.replace(/px$/, ''));
};

যদিও এটি jQuery এর সাথে সম্পর্কিত তবে আমি জানি না


0

খোঁড়াখুঁড়ি করার জন্য দুঃখিত, কিন্তু:

var bar = "16px";

var foo = parseInt(bar, 10); // Doesn't work! Output is always 16px
// and
var foo = Number(s.replace(/px$/, '')); // No more!

parseInt ('16px', 10); গুগল ক্রোম দেব কনসোলে আমার জন্য কাজ করুন
থমাস

-2
$(document).ready(function(){<br>
    $("#btnW1").click(function(){<br>
        $("#d1").animate({<br>
            width: "+=" + x,

        });
    });

যখন jquery ব্যবহার করে আমি পিক্সেল মান দিয়ে ভেরিয়েবল এক্স সনাক্ত করার চেষ্টা করব তখন আমি উদ্ধৃতিগুলিতে + = রেখেছি। প্রস্থের পরিবর্তে: '+ = x', যা কাজ করে না কারণ এটি মনে করে যে x একটি সংখ্যার চেয়ে স্ট্রিং। আশা করি এটি সাহায্য করবে।

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