সর্বদা 2 দশমিক স্থান দেখানোর জন্য সংখ্যার ফর্ম্যাট করুন


781

আমি সর্বদা 2 দশমিক স্থান প্রদর্শন করতে আমার নম্বরগুলি ফর্ম্যাট করতে চাই যেখানে প্রযোজ্য round

উদাহরণ:

number     display
------     -------
1          1.00
1.341      1.34
1.345      1.35

আমি এটি ব্যবহার করে যাচ্ছি:

parseFloat(num).toFixed(2);

তবে এটি এর চেয়ে প্রদর্শন 1করা হচ্ছে ।11.00


2
মানে আমি যদি 1 টি প্রবেশ করি তবে এটি সংখ্যাটি 1.00 হিসাবে দেখায় না, তবে আমি যদি 1.345 লিখি তবে এটি 1.35 প্রদর্শিত হবে
ভারদা

1
আমি আপনার প্রশ্নের উত্তরটি যা দিয়েছি তা আমি বিশ্বাস করি যা আপনি খুঁজছিলেন। আমি আপনাকে সঠিকভাবে বুঝতে পেরেছি কিনা তা নিশ্চিত করে দেখুন।
ছদ্মবেশ

সমর্থন সহ নির্ভুল বৃত্তাকার। gist.github.com/ArminVieweg/28647e735aa6efaba401
তারানজোনস


উত্তর:


1113
(Math.round(num * 100) / 100).toFixed(2);

সরাসরি নমুনা

মনে রাখবেন যে হবে সুসম্পন্ন , 2 দশমিক স্থান তাই ইনপুট 1.346ফিরে আসবে 1.35


6
@Kooilnc: ওপি চায় 1যেমন প্রদর্শন করে 1.00, এবং 1.341যেমন প্রদর্শন করে 1.34
26:56

49
টু ফিক্সড () এটির বৃত্তাকার হওয়ার পরে রাউন্ড () ব্যবহার করার দরকার নেই।
মিলান বাবুস্কভ

27
টু ফিক্সড () এটি গোল করে তবে ভুলে যাবেন না এটি একটি স্ট্রিং ফিরিয়েছে ... সুতরাং এই পদ্ধতিটি কেবলমাত্র প্রদর্শনের জন্য কার্যকর। আপনি যদি গোলাকার মানটিতে আরও গাণিতিক গণনা সম্পাদন করতে চান তবে ফিক্সড () ব্যবহার করবেন না।
রাইট

8
এমডিএন অনুসারে, রাউন্ড ত্রুটির কারণে ম্যাথ.াউন্ড সবসময় সঠিক ফলাফল দেয় না। আমি এটি 1.005 দিয়ে পরীক্ষা করেছি, এটি 1.01 এর চেয়ে বড় হওয়া উচিত তবে এটি 1.00 দেয়। ধারাবাহিক নির্ভুলতার জন্য আমার উত্তরটি ব্যবহার করুন: stackoverflow.com/a/34796988/3549440
নোট

13
এই পুরো উত্তরটি হ্রাস করা যেতে পারে (+num).toFixed(2)। এমনকি এটি আসলটিতে গোলাকার বাগটি ধরে রাখে, নেটের উত্তর দেখুন
রবিজি

321
Number(1).toFixed(2);         // 1.00
Number(1.341).toFixed(2);     // 1.34
Number(1.345).toFixed(2);     // 1.34 NOTE: See andy's comment below.
Number(1.3450001).toFixed(2); // 1.35


1
শেষ লাইন মিথ্যা। আমি ক্রোম কনসোলে এই চেষ্টা এবং `` নম্বর (1.365) .toFixed (2) আয় "1.37"
আন্দ্রে

1
@ আন্ড্রে, ক্রোম 29.0.1547.57 আমাকে 1.34প্রকাশের জন্য দেয় Number(1.345).toFixed(2)
ড্র নোকস

1
toFixed নেই rounding, আপনি প্রায় যে পরীক্ষা সংখ্যার উপর দেখতে পারেন ব্যক্তিদের কোন না।
অ্যান্ডি

40
দুর্ঘটনাক্রমে শেষ করার আগে শেষ মন্তব্যটি জমা দেওয়া .. 1.345এমন একটি সংখ্যার উদাহরণ যা ভাসমান পয়েন্টে হুবহু সংরক্ষণ করা যায় না, তাই আমি মনে করি যে এটি আপনার প্রত্যাশার মতো গোল নয়, এটি আসলে এটি একটি সংখ্যা হিসাবে কিছুটা সঞ্চিত রয়েছে 1.345 এরও কম এবং এটি বৃত্তাকার হয়ে যায়। আপনি যদি এর পরিবর্তে পরীক্ষা করেন (1.34500001).toFixed(2)তবে আপনি এটি সঠিকভাবে দেখতে পাবেন1.35
অ্যান্ডি

94

এই উত্তরটি যদি ব্যর্থ হয় value = 1.005

আরও ভাল সমাধান হিসাবে, ঘনিষ্ঠ সমস্যাটি তাত্পর্যপূর্ণ স্বরলিপিতে উপস্থাপিত সংখ্যাগুলি ব্যবহার করে এড়ানো যেতে পারে:

Number(Math.round(1.005+'e2')+'e-2'); // 1.01

ক্লার কোড @ কন এবং মূল লেখকের পরামর্শ অনুসারে:

Number(Math.round(parseFloat(value + 'e' + decimalPlaces)) + 'e-' + decimalPlaces)

toFixed()দশমিক বিন্দু ধরে রাখতে আপনি শেষে যুক্ত করতে পারেন যেমন: 1.00তবে নোট করুন যে এটি স্ট্রিং হিসাবে ফিরে আসবে।

Number(Math.round(parseFloat(value + 'e' + decimalPlaces)) + 'e-' + decimalPlaces).toFixed(decimalPlaces)

ক্রেডিট: জাভাস্ক্রিপ্টে রাউন্ডিং দশমিক


13
আশ্চর্যজনকভাবে, এখানের প্রত্যেকে প্রত্যেকে toFixedএটি দেখতে ব্যর্থ হয়েছিল যে সেই গোলাকার সমস্যা রয়েছে। আপনার উত্তরটি গ্রহণযোগ্য হওয়া উচিত।
আর্মফুট

1
এটি এখনও ঠিক আছে কিনা তা পরীক্ষা করে দেখার জন্য। আপনি ক্রোম সংস্করণ 59.0.3071.115 এর জন্য এখনও ঠিক আছেন আপনার সমাধানটি 1.005 (1.01) এর জন্য গোল হবে এবং 1.00499999 (1.00) এর জন্য গোল হবে
আর্তিস্তান

jsfiddle.net/Artistan/qq895bnp/28 "সময়" আছে যখন ফিক্সড কাজ করবে, তবে এটি বেশ বেমানান। :)
শিল্পী

পার্সফ্লোয়েটের আশেপাশের নম্বরটি তার ফিরতি স্ট্রিং
ব্যবহারকারী 889030

1
এটি একটি শক্ত উত্তর। কয়েকটি উন্নতি যা আমি ভাবতে পারি: (1) ভিএস কোড (টাইপস্ক্রিপ্ট ফাইল) ম্যাথ.আউন্ড (() স্ট্রিংয়ে পাস করা পছন্দ করে না। (২) দশমিক স্থানের সংখ্যা গতিশীল করুন (2 তে হার্ড-কোডড নয়)। (3) toFixed () অপ্রয়োজনীয় বলে মনে হচ্ছে। সুতরাং আমি যা নিয়ে এসেছি তা হ'লNumber(Math.round(parseFloat(value + 'e' + decimalPlaces)) + 'e-' + decimalPlaces)
কন 19

23
var num = new Number(14.12);
console.log(num.toPrecision(2));//outputs 14
console.log(num.toPrecision(3));//outputs 14.1
console.log(num.toPrecision(4));//outputs 14.12
console.log(num.toPrecision(5));//outputs 14.120

এটি অপ্রত্যাশিত ফলাফল দেয়, যদি আপনার সংখ্যাটি 1.4, এবং 23.654 এবং 0 হতে পারে তবে আপনি কোন যথার্থতা গ্রহণ করবেন?
shinzou

2
দ্রষ্টব্য, ওপিতে "প্রযোজ্য যেখানে রাউন্ডিং" চাইছেtoPrecisionকেবল সংখ্যাটি নির্দিষ্ট সংখ্যক দশমিক স্থানে সংখ্যার ফর্ম্যাট করে কেবল অনর্থক জায়গাগুলি ছেড়ে যায় তবে সেগুলি গোল করে না । এটি অবশ্যই খুব দরকারী হতে পারে তবে এটির পার্থক্যটি বোঝা গুরুত্বপূর্ণ।
বোয়াজ - মনিকা

1
মজিলা মতে আসলে টু প্রিভিশন গোলটি করে। পরীক্ষা:(20.55).toPrecision(3) "20.6"
জেমস এল

2
আপনি যদি ট্রেইলিং জিরোগুলি স্ট্রিপ করতে চান তবে এটি ব্যবহারের পরে কোনও সংখ্যায় ফেলে দিন বা ফ্লোট করুন toFixed: নির্ভুলতা প্যারাম ব্যবহার করার সময় এটি অ-দশমিক সংখ্যা গণনা করে const formattedVal = Number(val.toFixed(2));ব্যবহার করবেন না toPrecision
জেমস এল।

17

সর্বাধিক নির্ভুল রাউন্ডিংয়ের জন্য, এই ফাংশনটি তৈরি করুন:

function round(value, decimals) {
    return Number(Math.round(value +'e'+ decimals) +'e-'+ decimals).toFixed(decimals);
}

এবং এটি 2 দশমিক জায়গায় গোল করতে ব্যবহার করুন:

console.log("seeked to " + round(1.005, 2));
> 1.01

ধন্যবাদ রাজু , এই নিবন্ধটি এবং MDN এর Math.round রেফারেন্স


1
1.0049999999999998934 সম্পর্কে কী?
4esn0k

1
এটি 2 ডিপি ছাড়িয়ে যায় না
স্টিফেন অ্যাডেলাকুন

1
jsfiddle.net/Aristanistan/qq895bnp পরীক্ষিত, এটিই আমি দেখলাম একমাত্র ধারাবাহিক পদ্ধতি। ধন্যবাদ।
আর্টিস্তান

16

আধুনিক ব্রাউজারগুলির জন্য, ব্যবহার করুন toLocaleString:

var num = 1.345;
num.toLocaleString(undefined, { maximumFractionDigits: 2, minimumFractionDigits: 2 });

দশমিক বিভাজক নিয়ন্ত্রণ করতে প্রথম প্যারামিটার হিসাবে একটি লোকেল ট্যাগ উল্লেখ করুন । বিন্দুর জন্য, উদাহরণস্বরূপ ইংলিশ মার্কিন লোকেল ব্যবহার করুন:

num.toLocaleString("en-US", { maximumFractionDigits: 2, minimumFractionDigits: 2 });

যা দেয়:

1.35

ইউরোপের বেশিরভাগ দেশ দশমিক বিভাজক হিসাবে কমা ব্যবহার করে, তাই যদি আপনি উদাহরণস্বরূপ সুইডিশ / সুইডেন লোকাল ব্যবহার করেন:

num.toLocaleString("sv-SE", { maximumFractionDigits: 2, minimumFractionDigits: 2 });

এটি দেবে:

1,35


কেন এটিকে নিম্নমানের করা হয়েছে তা নিশ্চিত নন, এটি আমার পক্ষে ভাল কাজ করেছে বলে মনে হয়েছিল। আপনি যদি কিছু ভুল হয়ে থাকে তবে ডাউনওয়েট করতে ইচ্ছুক হলে একটি মন্তব্য যুক্ত করুন!
জন কালভিনার

13

সহজ উত্তর:

var num = 1.2353453;
num.toFixed(2); // 1.24

উদাহরণ: http://jsfiddle.net/E2XU7/


11
ঠিক আছে, toFixedইতিমধ্যে stackoverflow.com/a/13292833/218196 এ প্রস্তাব দেওয়া হয়েছিল । আপনার প্রশ্নটি কোন অতিরিক্ত তথ্য সরবরাহ করে?
ফেলিক্স ক্লিং

এই উত্তরটিতে গোল কার্যকারিতা অন্তর্ভুক্ত নয়, আমার উত্তরটিতে অন্তর্ভুক্ত রয়েছে।
macio.Jun

8
উহ? এটি ঠিক একই উত্তর। toFixedএকটি নম্বরে কল করা।
ফেলিক্স ক্লিং

1
সঠিক, একই ফাংশন, তবে সেই উত্তরের ফলাফল বিভ্রান্তিকর, আমি কেবল গোলাকার কার্যকারিতা প্রকাশ করে এটিকে সংশোধন করেছি।
macio.

প্রশ্নটিতে বলা হয়েছে: "... প্রযোজ্য যেখানে গোলাকার"। আপনার উত্তর গোলাকার জড়িত না।
ক্রিস

12

N জায়গায় গোল করার জন্য আরও অনেক সাধারণ সমাধান

function roundN(num,n){
  return parseFloat(Math.round(num * Math.pow(10, n)) /Math.pow(10,n)).toFixed(n);
}


console.log(roundN(1,2))
console.log(roundN(1.34,2))
console.log(roundN(1.35,2))
console.log(roundN(1.344,2))
console.log(roundN(1.345,2))
console.log(roundN(1.344,3))
console.log(roundN(1.345,3))
console.log(roundN(1.3444,3))
console.log(roundN(1.3455,3))

Output

1.00
1.34
1.35
1.34
1.35
1.344
1.345
1.344
1.346

1
এই অ্যালসওয়ারটি 0 এর কাছাকাছি নির্দিষ্ট সংখ্যার সাথে ব্যর্থ হয়, প্রত্যাশিত 0.00 এর পরিবর্তে roundN(-3.4028230607370965e+38,2)ফিরে আসে"-3.4028230607370965e+38"
ফেরিবিগ

আকর্ষণীয় @ ফেরিবিগ আমি আপনার উল্লিখিত সংখ্যাগুলি পরীক্ষা করব এবং একটি কাজের কথা
ভাবব,

1
উল্লেখ্য যে পূর্বে উল্লিখিত সংখ্যাটি শূন্য প্রদর্শন করা উচিত নয়, তবে এর পরিবর্তে একটি বিশাল সংখ্যা, এটি আমার মস্তিষ্কে কেবল একটি ত্রুটি ছিল। তবে এটি এখনও কাজ করে না, যেহেতু এটি এখনও 2 দশমিক দেখায় না
ফেরিবিগ


9

আপনি যদি ইতিমধ্যে jQuery ব্যবহার করেন তবে আপনি jQuery নম্বর ফর্ম্যাট প্লাগইনটি ব্যবহার করতে পারেন ।

প্লাগইনটি স্ট্রিং হিসাবে ফর্ম্যাট সংখ্যাগুলি ফিরিয়ে দিতে পারে, আপনি দশমিক এবং হাজার হাজার বিভাজক সেট করতে পারেন এবং আপনি দশমিকের সংখ্যা প্রদর্শন করতে বেছে নিতে পারেন।

$.number( 123, 2 ); // Returns '123.00'

আপনি গিটহাব থেকে jQuery নম্বর ফর্ম্যাট পেতে পারেন ।


11
"নির্দিষ্ট দৈর্ঘ্যের দশমিক অংশ থাকতে" একটি প্লাগইন ব্যবহার করা ওভারকিল over
ল্যাশে

9
@ লশা, নিশ্চিত, আপনি যা করতে চান তা যদি তা হয়। ওপি বা অন্য কেউ প্লাগইন পাশাপাশি সরবরাহ করে এমন অতিরিক্ত কার্যকারিতা চাইলে আমি এটি পোস্ট করেছি।
স্যাম শেহনার্ট

যদি প্রশ্নের পোস্টার jQuery ট্যাগটি অবশ্যই যুক্ত করে থাকে;)
ফুলস্ট্যাকলাইফ

7

এর মানে কি?

function showAsFloat(num, n){
      return !isNaN(+num) ? (+num).toFixed(n || 2) : num;
}

document.querySelector('#result').textContent = 
    [
     'command                      | result',
     '-----------------------------------------------',
     'showAsFloat(1);              | ' + showAsFloat(1),
     'showAsFloat(1.314);          | ' + showAsFloat(1.314),
     'showAsFloat(\'notanumber\')    | ' + showAsFloat('notanumber'),
     'showAsFloat(\'23.44567\', 3)   | ' + showAsFloat('23.44567', 3),
     'showAsFloat(2456198, 5)      | ' + showAsFloat('2456198', 5),
     'showAsFloat(0);              | ' + showAsFloat(0)
    ].join('\n');
<pre id="result"></pre>


6

একটি সংখ্যাটিকে স্ট্রিংয়ে রূপান্তর করুন, মাত্র দুটি দশমিক রেখে:

var num = 5.56789;
var n = num.toFixed(2);

এন এর ফলাফল হবে:

5.57

4

আপনি মেঝে খুঁজছেন?

var num = 1.42482;
var num2 = 1;
var fnum = Math.floor(num).toFixed(2);
var fnum2 = Math.floor(num2).toFixed(2);
alert(fnum + " and " + fnum2); //both values will be 1.00

4
আমি মনে করি না যে তিনি নিকটতম পূর্ণসংখ্যার দিকে যেতে চান।
ছদ্মবেশে

হ্যাঁ, আমি বিবরণটি থেকে নিশ্চিত নই, তবে আমি কেবল এটি বাইরে ফেলে
দিচ্ছিলাম

3
function currencyFormat (num) {
    return "$" + num.toFixed(2).replace(/(\d)(?=(\d{3})+(?!\d))/g, "$1,")
}

console.info(currencyFormat(2665));   // $2,665.00
console.info(currencyFormat(102665)); // $102,665.00

3

এখানে একটি জেনেরিক ফাংশন যা যে কোনও দশমিক স্থানে ফর্ম্যাট করতে পারে:

function numberFormat(val, decimalPlaces) {

    var multiplier = Math.pow(10, decimalPlaces);
    return (Math.round(val * multiplier) / multiplier).toFixed(decimalPlaces);
}

3

যেখানে নির্দিষ্ট ফর্ম্যাটিং প্রয়োজন, আপনার নিজের রুটিন লিখতে হবে বা একটি লাইব্রেরির ফাংশন ব্যবহার করা উচিত যা আপনার যা প্রয়োজন তা করে। প্রাথমিক ECMAScript কার্যকারিতা সাধারণত ফর্ম্যাট সংখ্যা প্রদর্শন করার জন্য অপর্যাপ্ত।

রাউন্ডিং এবং ফর্ম্যাট করার একটি বিশদ বিবরণ এখানে: http://www.merlyn.demon.co.uk/js-round.htm#RiJ

একটি সাধারণ নিয়ম হিসাবে, বৃত্তাকার এবং ফর্ম্যাটিং আউটপুট আগে শুধুমাত্র একটি শেষ পদক্ষেপ হিসাবে রূপান্তরিত করা উচিত। এর আগে এটি করা অপ্রত্যাশিতভাবে বৃহত ত্রুটিগুলি প্রবর্তন করতে পারে এবং বিন্যাসটি নষ্ট করে।


এই পুরো জেএস / ইকমা প্ল্যাটফর্মে দেরীতে এত গভীরভাবে জড়িত হওয়ার জন্য আমি নিজের পছন্দ মতো মাথা নেড়েছি times :( "যেখানে নির্দিষ্ট ফর্ম্যাটিং প্রয়োজন সেখানে আপনার নিজের রুটিন লিখতে হবে বা আপনার প্রয়োজন অনুসারে একটি লাইব্রেরি ফাংশন ব্যবহার করা উচিত। বেসিক ECMAScript কার্যকারিতা সাধারণত ফর্ম্যাট সংখ্যাগুলি প্রদর্শন করার জন্য অপর্যাপ্ত থাকে।" কী অ্যাসিনাইন স্টেটমেন্ট - এটি নয় যে আপনি এটি তৈরি করেছেন, কিন্তু আসলে বিদ্যমান কারণ শুধু দু: খিত বল, জাভাস্ক্রিপ্ট এ উঠুন
ChrisH

2

function number_format(string,decimals=2,decimal=',',thousands='.',pre='R$ ',pos=' Reais'){
  var numbers = string.toString().match(/\d+/g).join([]);
  numbers = numbers.padStart(decimals+1, "0");
  var splitNumbers = numbers.split("").reverse();
  var mask = '';
  splitNumbers.forEach(function(d,i){
    if (i == decimals) { mask = decimal + mask; }
    if (i>(decimals+1) && ((i-2)%(decimals+1))==0) { mask = thousands + mask; }
    mask = d + mask;
  });
  return pre + mask + pos;
}
var element = document.getElementById("format");
var money= number_format("10987654321",2,',','.');
element.innerHTML = money;
#format{
display:inline-block;
padding:10px;
border:1px solid #ddd;
background:#f5f5f5;
}
<div id='format'>Test 123456789</div>


2

কেবলমাত্র দীর্ঘতম থ্রেডের মধ্যে এটি চালান, নীচে আমার সমাধানটি দেওয়া হল:

parseFloat(Math.round((parseFloat(num * 100)).toFixed(2)) / 100 ).toFixed(2)

কেউ যদি একটি গর্ত পোঁচাতে পারেন তবে আমাকে জানান


2


2
কোডটির এই অংশটি আপনার প্রয়োজনীয়তা অর্জনের জন্য যথেষ্ট parseFloat(num.toFixed(2))
কেবিএ

1

আপনি আমাদের পুরো ছবি দিচ্ছেন না।

javascript:alert(parseFloat(1).toFixed(2))আমার ব্রাউজারগুলিতে 1.00 দেখায় যখন আমি এটি অবস্থান বারটি ইন্টিস্ট করি। তবে পরে যদি আপনি এটিতে কিছু করেন তবে তা ফিরে যাবে।

var num = 2
document.getElementById('spanId').innerHTML=(parseFloat(num).toFixed(2)-1)


shows 1 and not 1.00

এফএফ 50, ক্রোম 49 এবং আই 8
ফ্লোরিয়ান স্ট্রাব


1

আমি ফিক্সড () কল করার আগে পার্সফ্লোট () এবং নম্বর () রূপান্তরগুলির মধ্যে সিদ্ধান্ত নিতে হয়েছিল। এখানে একটি সংখ্যার বিন্যাসকরণ পোস্ট-ক্যাপচারিং ব্যবহারকারীর ইনপুট উদাহরণ।

এইচটিএমএল:

<input type="number" class="dec-number" min="0" step="0.01" />

অনুষ্ঠান পরিচালনাকারী:

$('.dec-number').on('change', function () {
     const value = $(this).val();
     $(this).val(value.toFixed(2));
});

উপরের কোডটি টাইপরর ব্যতিক্রমের ফলাফল করবে। মনে রাখবেন যে এইচটিএমএল ইনপুট টাইপটি "সংখ্যা" হলেও ব্যবহারকারী ইনপুটটি আসলে একটি "স্ট্রিং" ডেটা টাইপ। তবে, টু ফিক্সড () ফাংশনটি কেবলমাত্র একটি সংখ্যার মতো অবজেক্টে ডাকা যেতে পারে।

আমার চূড়ান্ত কোডটি নীচের মত দেখাবে:

$('.dec-number').on('change', function () {
     const value = Number($(this).val());
     $(this).val(value.toFixed(2));
});

সংখ্যার () বনাম পার্সফ্লোয়ট () দিয়ে আমার কাস্ট করার পক্ষে কারণটি হ'ল খালি ইনপুট স্ট্রিং, না এনএএন মানের জন্য আমাকে অতিরিক্ত বৈধতা প্রয়োগ করতে হবে না। সংখ্যা () ফাংশনটি স্বয়ংক্রিয়ভাবে একটি খালি স্ট্রিং পরিচালনা করবে এবং এটিকে শূন্যে প্রচ্ছন্ন করবে।


0

আমি পছন্দ করি:

var num = 12.749;
parseFloat((Math.round(num * 100) / 100).toFixed(2)); // 123.75

2 দশমিক পয়েন্ট সহ সংখ্যাটি গোল করুন, তারপরে parseFloat() নম্বরটি ফিরে আসার সাথে পার্স করার বিষয়টি নিশ্চিত করুন , স্ট্রিং নয়, যদি না আপনি স্ট্রিং বা সংখ্যা না করে খেয়াল করেন না।


আমার ধারণা, উদ্দেশ্যটি যদি 2 দশমিকের নির্ভুলতার সাথে প্রদর্শন করা হত তবে ভাসমানটি পার্সিংয়ের সাথে ঝামেলা হবে। উদাহরণস্বরূপparseFloat("1.00") // 1
স্টিজন ডি উইট

0

যথার্থ পদ্ধতি সহ ম্যাথ অবজেক্টটি প্রসারিত করুন

Object.defineProperty(Math, 'precision',{
   value: function (value,precision,type){
             var v = parseFloat(value),
                 p = Math.max(precision,0)||0,
                 t = type||'round';
              return (Math[t](v*Math.pow(10,p))/Math.pow(10,p)).toFixed(p);
          }
    });

console.log(
    Math.precision(3.1,3), // round 3 digits 
    Math.precision(0.12345,2,'ceil'), // ceil 2 digits
    Math.precision(1.1) // integer part
)



0

এখানে কেবল মেঝে ব্যবহার করে গোল করার আরও একটি সমাধান রয়েছে যার অর্থ গণনা করা পরিমাণটি মূল পরিমাণের চেয়ে বড় হবে না (কখনও কখনও লেনদেনের জন্য প্রয়োজনীয়):

Math.floor(num* 100 )/100;

0

আপনি এই কোড চেষ্টা করতে পারেন:

    function FormatNumber(number, numberOfDigits = 2) {
        try {
            return new Intl.NumberFormat('en-US').format(parseFloat(number).toFixed(2));
        } catch (error) {
            return 0;
        }
    }

    var test1 = FormatNumber('1000000.4444');
    alert(test1); // 1,000,000.44

    var test2 = FormatNumber(100000000000.55555555, 4);
    alert(test2); // 100,000,000,000.56

0

কোড নীচে চেষ্টা করুন:

function numberWithCommas(number) { 

   var newval = parseFloat(Math.round(number * 100) / 100).toFixed(2);

   return newval.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
}


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