मैं सोच रहा हूं कि कैसे जावास्क्रिप्ट में अगर मुझे एक नंबर दिया जाता है (10000 कहो) और फिर एक प्रतिशत दिया गया (35.8% कहो)
मैं कैसे काम करूँगा कि यह कितना है (जैसे 3580)
जवाबों:
var result = (35.8 / 100) * 10000;
(धन्यवाद Jball आपरेशन के आदेश के इस बदलाव के लिए। मैं यह विचार नहीं किया)।
var
, या व्हाट्सएप, लेकिन यह बहुत पठनीय या अच्छा कोड नहीं होगा? : पी
var result = pct / 100 * number;
आपका प्रतिशत संख्या से 100 (0 और 1 के बीच प्रतिशत प्राप्त करने के लिए) से विभाजित होता है
35.8/100*10000
क्या यही मुझे करना होगा:
// num is your number
// amount is your percentage
function per(num, amount){
return num*amount/100;
}
...
<html goes here>
...
alert(per(10000, 35.8));
मैं दो बहुत उपयोगी जेएस कार्यों का उपयोग करता हूं: http://blog.bassta.bg/2013/05/rangetopercent-and-percenttorange/
function rangeToPercent(number, min, max){
return ((number - min) / (max - min));
}
तथा
function percentToRange(percent, min, max) {
return((max - min) * percent + min);
}
यदि आप अपने फ़ंक्शन के भाग के रूप में% पास करना चाहते हैं, तो आपको निम्नलिखित विकल्प का उपयोग करना चाहिए:
<script>
function fpercentStr(quantity, percentString)
{
var percent = new Number(percentString.replace("%", ""));
return fpercent(quantity, percent);
}
function fpercent(quantity, percent)
{
return quantity * percent / 100;
}
document.write("test 1: " + fpercent(10000, 35.873))
document.write("test 2: " + fpercentStr(10000, "35.873%"))
</script>
सबसे अच्छी बात प्राकृतिक तरीके से बैलेंस समीकरण को याद करना है।
Amount / Whole = Percentage / 100
आमतौर पर आपके पास एक चर गायब होता है, इस मामले में यह राशि है
Amount / 10000 = 35.8 / 100
तब आपके पास हाई स्कूल मैथ (अनुपात) दोनों तरफ से कई बाहरी और दोनों तरफ से आंतरिक होता है।
Amount * 100 = 358 000
Amount = 3580
यह सभी भाषाओं में और कागज पर समान काम करता है। जावास्क्रिप्ट कोई अपवाद नहीं है।
फ्लोटिंग पॉइंट मुद्दों से पूरी तरह से बचने के लिए, वह राशि जिसका प्रतिशत गणना की जा रही है और प्रतिशत को ही पूर्णांकों में परिवर्तित करने की आवश्यकता है। यहां बताया गया है कि मैंने इसे कैसे हल किया:
function calculatePercent(amount, percent) {
const amountDecimals = getNumberOfDecimals(amount);
const percentDecimals = getNumberOfDecimals(percent);
const amountAsInteger = Math.round(amount + `e${amountDecimals}`);
const percentAsInteger = Math.round(percent + `e${percentDecimals}`);
const precisionCorrection = `e-${amountDecimals + percentDecimals + 2}`; // add 2 to scale by an additional 100 since the percentage supplied is 100x the actual multiple (e.g. 35.8% is passed as 35.8, but as a proper multiple is 0.358)
return Number((amountAsInteger * percentAsInteger) + precisionCorrection);
}
function getNumberOfDecimals(number) {
const decimals = parseFloat(number).toString().split('.')[1];
if (decimals) {
return decimals.length;
}
return 0;
}
calculatePercent(20.05, 10); // 2.005
जैसा कि आप देख सकते हैं, मैं:
amount
और दोनों में दशमलव की संख्या गिनेंpercent
amount
और percent
पूर्णांक में कनवर्ट करेंघातीय संकेतन का उपयोग जैक मूर के ब्लॉग पोस्ट से प्रेरित था । मुझे यकीन है कि मेरा सिंटैक्स कम हो सकता है, लेकिन मैं चर नामों के मेरे उपयोग और प्रत्येक चरण की व्याख्या करने में जितना संभव हो उतना स्पष्ट होना चाहता था।
var number = 10000;
var result = .358 * number;
हार्डर वे (सीखने का उद्देश्य):
var number = 150
var percent= 10
var result = 0
for (var index = 0; index < number; index++) {
const calculate = index / number * 100
if (calculate == percent) result += index
}
return result
var number=10000; alert(number*0.358);