मैं एक 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);
}
}
}
मुझे लगता है कि डायरेक्ट 3 डी प्रश्न में धागे के लिए 'NumberFormatInfo' बदल रहा है। इसे सेट करने के बारे में जानकारी के लिए [NumberFormatInfo] (http://msdn.microsoft.com/en-us/library/system.globalization.numberformatinfo.aspx) देखें। –
@ जोशुआ ड्रेक वास्तव में सही फ़्लोटिंग पॉइंट मानों (डिफ़ॉल्ट रूप से) में एक परिवर्तन है, न केवल प्रारूपण, डी 3 डी 9 के साथ। मुझे संदेह है कि यह मुद्दा है। –