मैं जावास्क्रिप्ट के लिए बहुत नया हूं (मैं जावा पृष्ठभूमि से आया हूं) और मैं कुछ मात्रा में धनराशि के साथ कुछ वित्तीय गणना करने की कोशिश कर रहा हूं।जावास्क्रिप्ट में BigDecimal
इस पर मेरी मूल जाने था:
<script type="text/javascript">
var normBase = ("[price]").replace("$", "");
var salesBase = ("[saleprice]").replace("$", "");
var base;
if (salesBase != 0) {
base = salesBase;
} else {
base = normBase;
}
var per5 = (base - (base * 0.05));
var per7 = (base - (base * 0.07));
var per10 = (base - (base * 0.10));
var per15 = (base - (base * 0.15));
document.write
(
'5% Off: $' + (Math.ceil(per5 * 100)/100).toFixed(2) + '<br/>' +
'7% Off: $' + (Math.ceil(per7 * 100)/100).toFixed(2) + '<br/>' +
'10% Off: $' + (Math.ceil(per10 * 100)/100).toFixed(2) + '<br/>' +
'15% Off: $' + (Math.ceil(per15 * 100)/100).toFixed(2) + '<br/>'
);
</script>
इस को छोड़कर यह हमेशा (Math.ceil
) को गिरफ्तार अच्छी तरह से काम किया। Math.floor
एक ही समस्या है, और Math.round
भी तैरने के लिए अच्छा नहीं है।
जावा में, मैं पूरी तरह से चलने से फ्लोट्स के उपयोग से परहेज करता था, हालांकि जावास्क्रिप्ट में कुछ तुलनीय (ओएमजी क्यों!?!?!?!) का एक डिफ़ॉल्ट समावेश प्रतीत नहीं होता है।
तो, मेरी अतः फू इस पोस्ट के लिए मुझे प्रेरित किया है: https://stackoverflow.com/questions/744099/is-there-a-good-javascript-bigdecimal-library
समस्या, सभी पुस्तकालयों उल्लेख या तो टूट रहे है या एक अलग उद्देश्य के लिए। jsfromhell.com/classes/bignumber
लाइब्रेरी मुझे जो चाहिए वह बहुत करीब है, हालांकि मुझे इसके गोलाकार और परिशुद्धता के साथ विचित्र मुद्दे हैं ... इससे कोई फर्क नहीं पड़ता कि मैंने राउंड टाइप को सेट किया है, ऐसा लगता है कि यह स्वयं ही तय होता है। तो उदाहरण के लिए, 3.7107 2 और गोल प्रकार ROUND_HALF_UP
की परिशुद्धता के साथ 3.72 के रूप में 3.72 के रूप में किसी भी तरह हवाएं बढ़ जाती हैं।
मैंने @ जेसनस्मिथ बिगडेसिमल लाइब्रेरी (जावा के बिगडिसीमल से एक मशीनी पोर्ट) भी कोशिश की, लेकिन ऐसा लगता है कि मेरे पास node.js नहीं है, जिसमें मेरे पास चलाने का विकल्प नहीं है।
मैं इसे वेनिला जावास्क्रिप्ट (और भरोसेमंद) का उपयोग करके कैसे पूरा कर सकता हूं या क्या वहां एक आधुनिक (ऊपर वर्णित कुछ अब पुराने हैं) लाइब्रेरी है जिसका उपयोग मैं कर सकता हूं और इसे तोड़ा नहीं जाता है?
मैं सिर्फ था मेरे "!?!?!?! OMG क्यों" कल कल :) – rubiii
मेरे पास जेएस में हर दिन मेरे ओएमजी क्षण हैं। – user1567291