আমি কীভাবে জাভাস্ক্রিপ্ট (jquery) এর সাথে একটি পূর্ণসংখ্যা মান যুক্ত করব যা একটি স্ট্রিং ফিরিয়ে দিচ্ছে?


92

আমার মতো একটি সাধারণ এইচটিএমএল ব্লক রয়েছে:

<span id="replies">8</span>

Jquery ব্যবহার করে আমি একটি মান (8) এর সাথে 1 যুক্ত করার চেষ্টা করছি।

var currentValue = $("#replies").text();
var newValue = currentValue + 1;
$("replies").text(newValue);

যা হচ্ছে তা হ'ল এটি প্রদর্শিত হচ্ছে:

81

তারপর

811

9 নয়, যা সঠিক উত্তর হবে। আমি কি ভুল করছি?

উত্তর:


187

parseInt () এটিকে রূপান্তরটি সম্পাদন করতে না পারলে এটি টাইপ পূর্ণসংখ্যা হতে বাধ্য করবে, বা NaN হবে (সংখ্যা নয়)।

var currentValue = parseInt($("#replies").text(),10);

দ্বিতীয় প্যারামিটার (রেডিক্স) নিশ্চিত করে যে এটি একটি দশমিক সংখ্যা হিসাবে পার্স করা হয়েছে।


10
পার্সিয়ান্ট () এর বিষয়ে সাবধানতা অবলম্বন করুন, এটি "010" কে 9 হিসাবে স্বীকৃতি দেয় (একটি শূন্যের সাথে মানগুলি অষ্টাল হিসাবে পার্স করা হয়)।
শক্তিশালী

4
ব্লেহ, "010" 8 টি হিসাবে পার্স (8 নয়)
মাইলিটি

7
@ জ্যাকব রিলকিন: যেহেতু এটি কার্যকর ছিল, তাই আমি তাকে আরও একটি +1 দিয়েছি। যদি আপনি আরও ভাল উত্তর সম্পর্কে জানেন তবে এটি দুঃখের বিষয় যা আপনি এটিকে ভাগ করেননি।
আনভিস ভাবেন যে এসই খারাপ

4
এটি করে, যদি না এটি একটি শীর্ষস্থানীয় শূন্যটি সনাক্ত করে তবে এটি অষ্টাল হয়ে যায়। ব্যবহারকারীর ইনপুট গ্রহণ করার সময় একটি সাধারণ ত্রুটি।
ডায়োডিয়াস - জেমস ম্যাকফার্লেন

4
দ্বিতীয় প্যারামিটারটি ব্যবহার করে আপনি যখন র‌ডিক্সটি নির্দিষ্ট করেন ততক্ষণ তা ঠিক কাজ করে: parseInt("010", 10)দশটি ফেরত দেয়।
jahroy

29

পার্স ইন্ট হ'ল এখানে আপনার যে সরঞ্জামটি ব্যবহার করা উচিত তা তবে কোনও সরঞ্জামের মতো এটিও সঠিকভাবে ব্যবহার করা উচিত। ParseInt ব্যবহার করার সময় সঠিক বেস ব্যবহার করা হয়েছে তা নিশ্চিত করার জন্য আপনার সর্বদা রেডিক্স প্যারামিটার ব্যবহার করা উচিত

var currentValue = parseInt($("#replies").text(),10);

27

পূর্ণসংখ্যাটি ত্রি-বিপরীত পরিবর্তে স্ট্রিংয়ে রূপান্তরিত হচ্ছে। তুমি চাও:

var newValue = parseInt(currentValue) + 1

12

আইপি তে আমার জন্য পার্সেন্ট কাজ করেনি। সুতরাং আমি একটি পূর্ণসংখ্যার হিসাবে আপনি চান ভেরিয়েবল উপর সহজভাবে ব্যবহার।

var currentValue = $("#replies").text();
var newValue = +currentValue + 1;
$("replies").text(newValue);

4

.Js এর অষ্টাল ভুল ব্যাখ্যার প্রসঙ্গে - আমি কেবল এটি ব্যবহার করেছি ...

parseInt(parseFloat(nv))

এবং শীর্ষস্থানীয় শূন্যগুলির সাথে পরীক্ষার পরে, যথাযথ উপস্থাপনের সাথে প্রতিবার ফিরে আসেন।

আশাকরি এটা সাহায্য করবে.




1
var month = new Date().getMonth();
var newmon = month + 1;
$('#month').html((newmon < 10 ? '0' : '') + newmon );

আমি কেবল আপনার মাসের সমস্যাটি ঠিক করেছি, getMonth অ্যারে 0 থেকে 11 পর্যন্ত শুরু করুন।



1

জাভাস্ক্রিপ্টকে বাধ্য করতে আপনার ভেরিয়েবলটিকে একটি সংখ্যায় রূপান্তর করতে এবং তারপরে এটিটিকে আপনার অন্যান্য মানতে যুক্ত করতে আপনি ভেরিয়েবলটিকে 1 দিয়ে গুণ করতে পারেন। এটি কাজ করে কারণ গুণটি অতিরিক্ত হিসাবে অতিরিক্ত লোড হয়নি। কেউ কেউ বলতে পারেন যে এটি পার্সেন্টের চেয়ে কম পরিষ্কার, তবে এটি এটি করার একটি উপায় এবং এটি এখনও উল্লেখ করা হয়নি।


-1

জাভাস্ক্রিপ্টে স্ট্রিংকে পূর্ণসংখ্যায় রূপান্তর করতে আপনি পার্সেন্ট () পদ্ধতি ব্যবহার করতে পারেন

আপনি ঠিক এই মত কোড পরিবর্তন করুন

$("replies").text(parseInt($("replies").text(),10) + 1);

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