जैसा कि आप पूरे इंटरनेट using floats to represent currency is a very bad idea पर पढ़ सकते हैं। अनुशंसित सर्वोत्तम अभ्यास इसके बजाय सेंट का प्रतिनिधित्व करने वाले पूर्णांक का उपयोग करना है। इस तरह आप सुरक्षित हैं कि किसी भी परिशुद्धता की समस्याओं में भाग न लें, खासकर यदि आप कुछ गणना कर रहे हैं।सेंट्स के पूर्णांक के साथ कोणीय मुद्रा फ़िल्टर का उपयोग
जैसा कि मैं मूर्ख हूं और जिस तरह से मैं आशावादी हूं, मैंने सभी चेतावनी के बावजूद - मेरे ऐप में मुद्राओं का प्रतिनिधित्व करने के लिए तैरता है। यह पहले बहुत अच्छी तरह से चला गया। अब मैं सभी प्रकार की समस्याओं (विशेष रूप से तुलना के साथ) में चल रहा हूं और फ्लोट से पूर्णांक में स्विच करना चाहता हूं।
दुर्भाग्य से कोणीय मुद्रा फ़िल्टर के लिए इनपुट के रूप में सेंट पूर्णांक का समर्थन नहीं करता है (कम से कम जहां तक मुझे पता है)। मैं थोड़ा आश्चर्यचकित हूं कि ऐसा लगता है कि अब तक कोई भी इसके साथ नहीं आया है (जिथूब पर कोई भी संबंधित मुद्दे नहीं, SO आदि पर कुछ भी नहीं)।
क्या कोई सर्वोत्तम प्रथा है? आप किसी भी कमियां के बारे में सोच सकता है इस तरह एक साधारण फिल्टर हो सकता है: not all currencies use 100 as their base ('करने के लिए संख्या नीचे स्कैन:
angular
.module('myApp')
.filter('cents', ['$filter', function($filter) {
return function(cents, symbol, fractionSize) {
var asFloat = cents/100;
return $filter('currency')(asFloat, symbol, fractionSize);
};
}]);
आप जिस इनपुट/आउटपुट की अपेक्षा कर रहे हैं वह क्या है? – developer033
वर्तमान इनपुट: '(फ्लोट) 5.9 7' आउटपुट:' 5,97 € '। वॉन्टेड इनपुट: '(int) 597' वॉन्टेड आउटपुट:' 5,97 € ' –