2012-04-10 8 views
6

मैं एक MySQL डेटाबेस से डेटा को सी # .NET एप्लिकेशन में लोड कर रहा हूं। डेटा डेटाबेस में डीबीटीइप के रूप में आयोजित किया जाता है। डबल, लेकिन मेरे आवेदन में उपयोग के लिए मैं कनवर्ट। ToDecimal() का उपयोग करके दशमलव तक डाल दिया। डेटा सर्वेक्षण में इस्तेमाल किया जाने वाला स्थितित्मक डेटा है और डायरेक्ट 3 डी विंडो में 3 डी मॉडल प्रदर्शित करने के लिए इसका उपयोग किया जा सकता है।कनवर्ट करें। डायरेक्टएक्स/डायरेक्ट 3 डी लोड होने पर विभिन्न परिणामों को देने के लिए

जब डायरेक्ट 3 डी विंडो, और इसलिए डायरेक्ट 3 डी डीएल लोड नहीं होता है, तो रूपांतरण ठीक काम करता है, ताकि डेटाबेस में आयोजित 1769301.6485186936, 5880300.8152837148 जैसे मान 1769301.64851869, 5880300.81528371 के रूप में लोड हो जाएं। हालांकि, अगर मैंने डायरेक्ट 3 डी मॉड्यूल को लोड किया है तो रूपांतरण के परिणाम उसी मूल्य में 1769301.7112576, 5880300.79401984 में परिवर्तित हो जाते हैं। जहां शिखर एक वर्ग/3 दशमलव मान, एक्स, वाई और जेड

List<vertex> positions = new List<vertex>(); 

using (MySqlCommand cmd = new MySqlCommand("SELECT x, y, z FROM positionTable;", conn)) 
{ 

    MySqlDataReader dr = cmd.ExecuteReader(); 
    try 
    { 
    while (dr.Read()) 
    { 
     vertex position = new vertex(); 
     position.X = Convert.ToDecimal(dr[0]); 
     position.Y = Convert.ToDecimal(dr[1]); 
     position.Z = Convert.ToDecimal(dr[2]); 

     positions.Add(position); 
    } 
    } 
} 
+0

मुझे लगता है कि डायरेक्ट 3 डी प्रश्न में धागे के लिए 'NumberFormatInfo' बदल रहा है। इसे सेट करने के बारे में जानकारी के लिए [NumberFormatInfo] (http://msdn.microsoft.com/en-us/library/system.globalization.numberformatinfo.aspx) देखें। –

+0

@ जोशुआ ड्रेक वास्तव में सही फ़्लोटिंग पॉइंट मानों (डिफ़ॉल्ट रूप से) में एक परिवर्तन है, न केवल प्रारूपण, डी 3 डी 9 के साथ। मुझे संदेह है कि यह मुद्दा है। –

उत्तर

5

की struct जब आप अपने Direct3D डिवाइस बनाते हैं, आप D3DCREATE_FPU_PRESERVE in D3DCREATE निर्दिष्ट करने के लिए है

बुनियादी कोड, के रूप में नीचे है। इसके बिना, डायरेक्टएक्स (9) थ्रेड को एकल परिशुद्धता फ्लोटिंग पॉइंट ऑपरेशंस का उपयोग करने के लिए स्विच करेगा, जो आपके प्रबंधित कोड में भी संख्यात्मक गणनाओं पर प्रभाव डालेगा।

+0

ऐसा लगता है कि समस्या ठीक हो गई है। बहुत धन्यवाद रीड। – jonew