একটি সংখ্যা শতাংশ করুন


104

"০." XXX% কে কোনও সংখ্যার থেকে ছাঁটাই করে শতাংশ করে দেওয়ার সর্বোত্তম উপায় কী? সংখ্যাটি যদি কোন ইনট হয়ে যায় তবে কী হবে?

var number1 = 4.954848;
var number2 = 5.9797;

$(document).ready(function() {    
    final = number1/number2;
    alert(final.toFixed(2) + "%");
});

উত্তর:


199

একটি শতাংশ ঠিক:

(number_one / number_two) * 100

অভিনব কোনও কিছুর দরকার নেই:

var number1 = 4.954848;
var number2 = 5.9797;

alert(Math.floor((number1 / number2) * 100)); //w00t!

47
pct দশমিক রাখতে: var pct = (num * 100)। toFixed (1) + "%";
efwjames

5
সতর্কতা (~~ ((সংখ্যা 1 / সংখ্যা 2) * 100)); ম্যাথ.ফ্লোরটি ~~ :) এর চেয়ে ধীরে ধীরে
nyxz

1
কেন Math.floor? আর না Math.round? এমনকি আপনার উদাহরণে আপনার কোড আউটপুটগুলির তুলনায় 4.954848 / 5.9797আরও কাছাকাছি । 83%82%
গাজকাম

9
@nyxz Ugg - আপনি মানুষের জন্য কোড লিখেছেন, মেশিনগুলিতে নয়। আপনি যদি কিছু সুপার-টাইট সমালোচনামূলক লুপ না হন তবে এর ~~চেয়ে কম পঠনযোগ্যMath.floor
জেরেমি জে স্টারচার

5
আমি জানি না কোন কারণ। সমস্ত শতাংশের 83% যে কোনও উপায়ে তৈরি
নাফতালি ওরফে নীল


36

সর্বোত্তম সমাধান, যেখানে enইংরেজি স্থানীয় অবস্থান:

fraction.toLocaleString("en", {style: "percent"})


1
সহায়তার জন্য সাবধান থাকুন বা স্মার্টফোনে নয় .... বর্তমানে সমর্থনটি আদর্শ নয়।
jdehaan

(9.23) .toLocaleString ("en", {স্টাইল: "শতাংশ"}) "923%" প্রদান করে, এটি সমাধান করার কোনও উপায় আছে কি?
স্লোরেনজো

2
@ স্লোরেঞ্জো 9.23 আসলে 923%। ধরুন আপনি 9.23% চান, আপনার 9.23 কে 100 দ্বারা ভাগ করতে হবে এবং তারপরে রূপান্তরটি চেষ্টা করতে হবে।
স্টিভ হকিন্স

3
পাশাপাশি আপনি ভালো কিছু চেষ্টা করে দেখতে পারেন দশমিক সংখ্যা পেতে @slorenzo fraction.toLocaleString("en", { style: "percent", minimumFractionDigits: 2 })দেখুন stackoverflow.com/a/29773435/411428
ম্যানফ্রেড

16

ঠিক আছে, যদি আপনার মতো একটি নম্বর 0.123456থাকে তবে ভাগ দেওয়ার জন্য বিভাগের ফলাফল হয়, এটি 100 দ্বারা গুণিত করুন এবং তারপরে এটি বৃত্তাকার করুন বা toFixedআপনার উদাহরণের মতো ব্যবহার করুন ।

Math.round(0.123456 * 100) //12

এটি করার জন্য এখানে একটি jQuery প্লাগইন রয়েছে:

jQuery.extend({
    percentage: function(a, b) {
        return Math.round((a / b) * 100);
    }
});

ব্যবহার:

alert($.percentage(6, 10));

15
কোথায় jQuery.roundএবং jQuery.divideএবংjQuery.multiply
রায়নোস

2
@ Xeon06 এইচএমএম মনে হয় ওপি তার মন পরিবর্তন করেছে। অদ্ভুত। আমার উত্তর করা হয়নি তা যথেষ্ট jQuery এর আছে।
নফতালি ওরফে নীল

2
@ রায়নোস আমি একটি লুপ এবং একটি বৃত্তাকার স্ট্রিং ম্যানিপুলেশন ব্যবহার করে বহুগুণে শুরু করেছিলাম তবে আমি বিভাজন ছেড়ে দিয়েছি।
অ্যালেক্স টারপিন

2

নিউমারাল.জেএস একটি লাইব্রেরি যা আমি তৈরি করেছি যা সংখ্যার, মুদ্রা, শতাংশের ফর্ম্যাট করতে পারে এবং স্থানীয়করণের জন্য সমর্থন পেতে পারে।

numeral(0.7523).format('0%') // returns string "75%"


1
সর্বশেষ প্রতিশ্রুতি numeral.js27 মার্চ 2017 হয়েছিল E ২৮ জানুয়ারী, ২০১২ পর্যন্ত এই প্রকল্পের ১৩৫ টি উন্মুক্ত সমস্যা রয়েছে যার মধ্যে পুরনোটি নভেম্বরের ২০১২ সাল থেকে। প্রায় ২ বছরে কোন কমিট না করেই প্রকাশ্য ইস্যুগুলি দেখায় যে প্রকল্পটি আর দেখাশোনা করা হচ্ছে না। অন্যথায় বিশ্বাসী হওয়ার জন্য খুশি।
মানফ্রেড


1

বেশিরভাগ উত্তর শেষে '%' যুক্ত করার পরামর্শ দেয়। আমি বরং পছন্দ করেন Intl.NumberFormat()সঙ্গে{ style: 'percent'}

var num = 25;

var option = {
  style: 'percent'

};
var formatter = new Intl.NumberFormat("en-US", option);
var percentFormat = formatter.format(num / 100);
console.log(percentFormat);


0

@ অক্স্ট্রিমের উত্তরটি ভাল তবে আমি মনে করি যে এটি toFixedএবং makePercentageএর সাধারণ ব্যবহার। দুটি ফাংশন সংজ্ঞায়িত করুন এবং আমরা এটিকে যে কোনও জায়গায় ব্যবহার করতে পারি।

const R = require('ramda')
const RA = require('ramda-adjunct')

const fix = R.invoker(1, 'toFixed')(2)

const makePercentage = R.when(
  RA.isNotNil,
  R.compose(R.flip(R.concat)('%'), fix, R.multiply(100)),
)

let a = 0.9988
let b = null

makePercentage(b) // -> null
makePercentage(a) // -> ​​​​​99.88%​​​​​

2
এই কোড স্নিপেট একটি ব্যাখ্যা সহ প্রশ্নটি সমাধান করতে পারে, যদিও সত্যিই আপনার পোস্টের মান উন্নত করতে সহায়তা করে। মনে রাখবেন যে আপনি ভবিষ্যতে পাঠকদের জন্য প্রশ্নের উত্তর দিচ্ছেন, এবং সেই লোকেরা আপনার কোড পরামর্শের কারণগুলি জানেন না।
31piy
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.