लगता है मैं निम्नलिखित IronPython स्क्रिप्ट है:क्या आयरनपीथन में दशमलव के लिए एक शाब्दिक संकेत है?
def Calculate(input):
return input * 1.21
जब एक दशमलव के साथ सी # से कहा जाता है, यह फ़ंक्शन एक डबल:
पहले:
var python = Python.CreateRuntime();
dynamic engine = python.UseFile("mypythonscript.py")
decimal input = 100m; // input is of type Decimal
// next line throws RuntimeBinderException:
// "cannot implicitly convert double to decimal"
decimal result = engine.Calculate(input);
मैं दो विकल्प हैं लगते हैं , मैं सी # पक्ष में डाल सकता था: ऐसा लगता है कि मैं परिशुद्धता खो सकता हूं।
decimal result = (decimal)engine.Calculate(input);
दूसरा अजगर विकल्प लिपि में System.Decimal का उपयोग करना है: काम करता है, लेकिन कुछ हद तक स्क्रिप्ट को प्रदूषित करता ...
from System import *
def CalculateVAT(amount):
return amount * Decimal(1.21)
वहाँ एक छोटे से हाथ अंकन डीएलआर है उस नंबर 1.21 चाहिए एक दशमलव के रूप में व्याख्या की जानी चाहिए, जैसे कि मैं सी # में '1.21 एम' नोटेशन का उपयोग करूंगा? या क्या डबल के बजाय दशमलव का उपयोग करने के लिए कोई अन्य तरीका है? python docs पर
धन्यवाद। मैं दशमलव (1.21) नोटेशन के साथ रहना होगा। इस मामले में, मैं एक फ्लोटिंग पॉइंट से कन्स्ट्रक्टर के साथ रह सकता हूं, क्योंकि मेरे मामले में कोई सटीक नुकसान नहीं होगा। मैं गणना के परिणाम के बारे में अधिक चिंतित था। – jeroenh