2013-08-28 80 views
5

Làm thế nào để chuyển đổi một giá trị char unsigned thành một phao hoặc đôi trong mã hóa trong AVR studio 4.?Làm thế nào để chuyển đổi Char thành Float

Xin vui lòng giúp Tôi là một người mới bắt đầu, câu hỏi của tôi nghe có vẻ ngu ngốc quá:/

Giống như tôi đã có một char keyPressed

và tôi đã in nó trên màn hình sử dụng lcd_gotoxy (0,0) ; lcd_puts (keyPressed);

Bây giờ tôi muốn sử dụng giá trị này để tính toán điều gì đó .. Làm thế nào để chuyển đổi nó thành phao hoặc kép? xin vui lòng giúp

+0

Tại sao 'float' hoặc' double' thay vì 'int'? –

+2

vì tôi cần giá trị thập phân nói như 14.6433 –

+0

Vấn đề này đã được giải quyết thanx tất cả .. Vui lòng chuyển sang vấn đề mới :) http://stackoverflow.com/questions/18506198/how-to-store-a- number-in-decimal-format-in-avr –

Trả lời

8

nếu bạn muốn ví dụ nhân vật 'a' là 65,0 trong phao thì cách để làm điều này là

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

nếu bạn muốn ví dụ nhân vật '9' như 9.0 trong phao thì cách để làm điều này là

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

nếu bạn muốn chuyển đổi mảng nhân vật chứa số nổi đây là cách

#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 
} 

để tham khảo thêm về liên kết: http://en.cppreference.com/w/cpp/string/basic_string/stof http://www.cplusplus.com/reference/string/stof/

+0

Cảm ơn bạn đã trả lời .. Nhưng giá trị char của tôi không phải là hằng số, nó được nạp mỗi lần sử dụng bàn phím .. nói là 16.853 Bây giờ tôi muốn chuyển đổi thành một phao hoặc kép sẽ được sử dụng thêm .. :/ –

+0

Đó không phải là một 'char' nhưng một tập hợp các ký tự ' –

+1

Bạn đang bối rối" một char "với một ký tự * chuỗi *. Tra cứu 'atof' (nhưng trước hết hãy tìm" cách sử dụng chuỗi trong C). – usr2564301

1

Để nhập mảng ký tự, bạn có thể sử dụng atof.

Các vấn đề liên quan