2013-08-28 11 views
5

में चार कन्वर्ट करने के लिए कैसे AVR स्टूडियो 4 में कोडिंग में एक नाव में एक अहस्ताक्षरित चार मूल्य या डबल कन्वर्ट करने के लिए?कैसे फ्लोट

कृपया मदद मैं अभी शुरुआत कर रहा हूँ, मेरे सवाल लग सकता है बेवकूफ भी:/

की तरह मैं एक चार keyPressed

मिल गया है और मैं स्क्रीन lcd_gotoxy का उपयोग करने पर यह मुद्रित है (0,0) ; lcd_puts (keyPressed);

अब मैं कुछ गणना करने के लिए .. कैसे यह नाव या डबल में परिवर्तित करने के इस मान का उपयोग करना चाहते हैं? कृपया मदद

+0

क्यों 'float' या' एक 'int' के बजाय double'? –

+2

क्योंकि मुझे दशमलव मानों की आवश्यकता है जैसे कि 14.6433 –

+0

इस समस्या को सभी को हल किया गया है .. कृपया नई समस्या पर जाएं :) http://stackoverflow.com/questions/18506198/how-to-store-a- संख्या-इन-दशमलव-प्रारूप-इन-एवीआर –

उत्तर

8

यदि आप उदाहरण चरित्र 'एक' नाव में 65.0 के रूप में तो तरीका यह है

unsigned char c='a'; 
float f=(float)(c);//by explicit casting 
float fc=c;//compiler implicitly convert char into float. 

है अगर आप नाव में 9.0 तो जिस तरह से करने के लिए के रूप में उदाहरण के किरदार के लिए चाहते हैं '9' के लिए चाहते हैं ऐसा करते हैं, तो आप यहाँ फ्लोट करने के लिए संख्या वाले चरित्र सरणी में परिवर्तित करना चाहते है जिस तरह से

#include<string> 
#include<stdio.h> 
#include<stdlib.h> 
void fun(){ 
unsigned char* fc="34.45"; 
//c++ way 
std::string fs(fc); 
float f=std::stof(fs);//this is much better way to do it 
//c way 
float fr=atof(fc); //this is a c way to do it 
} 
unsigned char c='9'; 
float f=(float)(c-'0');//by explicit casting 
float fc=c-'0';//compiler implicitly convert char into float. 

है अधिक लिंक का उल्लेख के लिए: http://en.cppreference.com/w/cpp/string/basic_string/stof http://www.cplusplus.com/reference/string/stof/

+0

प्रतिक्रिया के लिए धन्यवाद .. लेकिन मेरा चार मान स्थिर नहीं है, इसे हर बार एक कीपैड का उपयोग करके खिलाया जाता है .. कहता है कि यह 16.853 है अब मैं इसे परिवर्तित करना चाहता हूं एक नाव या डबल आगे प्रयोग की जाने वाली .. :/ –

+0

यह एक 'char' नहीं है, बल्कि एक' characters' –

+1

का सेट आप भ्रमित कर रहे हैं एक चरित्र * तार के साथ "एक चार" *। ऊपर देखो 'atof' (लेकिन उससे पहले कैसे सी में तार का उपयोग करने के देखो")। – usr2564301

1

चरित्र सरणी इनपुट के लिए आप atof उपयोग कर सकते हैं।