Gast
#926117
Hallo Forum, ich brauche für mein µC - Projekt eine Möglichkeit float->char* zu konvertieren. In der stdio.h gibt es ja z.B. sprintf, was aber mein C30 Compliler nicht bietet. Es ist ja auch egal. Ich habe mir selbst ein Programm geschrieben, welches mir die Konvertierung für beliebig viele Stellen macht. Allerdings funktioniert es nicht immer korrekt. Wenn ich 0,015 in char konvertiere, bekomme ich '0'',''0''1''4''9''9' heraus ? Viele andere Zahlen gehen wieder wunderbar. Es gibt eben einige Ausnahme, wie z.B. 0,015 oder 0,01. Vielleicht weiß jemand die Ursache ? Hier der Code:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
23 | |
24 | |
25 | |
26 | |
27 | |
28 | |
29 | |
30 | |
31 | |
32 | |
33 | |
34 | |
35 | |
36 | |
37 | |
38 | |
39 | |
40 | |
41 | |
42 | |
43 | |
44 | |
45 | |
46 | |
47 | |
48 | |
49 | |
50 | |
51 | |
52 | |
53 | |
54 | |
55 | |
56 | |
57 | |
58 | |
59 | |
60 | |
61 | |
62 | |
63 | |
Ich bin keiner, der effiziente Algorithmen programmiert, aber mein Code funktioniert meistens :) Also bitte nicht aufregen, wenn ich es zu umständlich mache oder den Wald vor lauter Bäumen übersehe. MfG Frank