Thread Arithmetik (4 answers)
Opened by Gast at 2006-05-29 16:34

Gast Gast
 2006-05-29 16:34
#66694 #66694
ich benutze folgendeS:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
use strict;

...
blah
...

my $count=0;
foreach (@spalten_filter) {
if ($spalten_filter[$count] =~ s/^mittel_/summe_/) {
$zeile_file[$filter[$count]]=$zeile_file[$filter[$count]]*($zeile_file[$index_zeit_summe_intervall]/3600);
}
$count++;
}

wobei:
Code: (dl )
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
@spalten_filter(
zeit_tag
zeit_jahrestag
summe_E_wr__0
perf__0
mittel_tag_T_m__0
mittel_P_sg__0
mittel_G_m__0)

@zeile_file=(
2006-01-03
86400
3
0.327581
1
1
1
0.0381944
1
1
1
1
1
1167.5
0.687204
6.853344
1384.4688
476.688
0.843284
0.0824089
0.0977238 )

@filter=(
0
2
13
14
15
16
17)

und $index_zeit_summe_intervall=1


Alles verlaeuft ohne Fehlermeldungen, aber gibt nicht das erwuenschte Ergebniss
mit print Anweisung wollte ich schauen was passiert:
Code: (dl )
print "etogo $count = $zeile_file[$filter[$count]]=$zeile_file[$filter[$count]]*($zeile_file[$index_zeit_summe_intervall]/3600) !!!",$zeile_file[$filter[$count]],"\n";

und er gibt folgendes raus:
Code: (dl )
1
2
3
etogo 4 = 6.853344=6.853344*(86400/3600) !!!6.853344
etogo 5 = 1384.4688=1384.4688*(86400/3600) !!!1384.4688
etogo 6 = 476.688=476.688*(86400/3600) !!!476.688


Es scheint , als ob Perl ueberhaupt nicht die Arithmetik durchfuehrt

woran kann das denn liegen ???

danke im voraus\n\n

<!--EDIT|renee|1148906234-->

View full thread Arithmetik