Schrift
[thread]8333[/thread]

string in zahl

Leser: 1


<< |< 1 2 >| >> 14 Einträge, 2 Seiten
kale_1990
 2006-09-15 10:44
#69895 #69895
User since
2006-09-12
104 Artikel
BenutzerIn
[default_avatar]
hallo,

brauch hilfe ! und zwar lese ich daten aus einer datenbank aus die alle textformat haben obwohl es zahlen sind...nun will ich daten die ich jetz in einem array hab $dtlfg2[$x] in eine zahl umwandeln das ich sie zum rechnen verwenden kann!
das änder des feldes in der datenbank ist ausgeschlossen
üwrde mich über schnelle antworten freuen!
THERE'S MORE THAN ONE WAY TO DO IT - TMTOWTDI

EASY THINGS SHOULD BE EASY - HARD THINGS SHOULD BE POSSIBLE
vayu
 2006-09-15 10:56
#69896 #69896
User since
2005-01-13
782 Artikel
BenutzerIn
[default_avatar]
du kannst die doch einfach zusammenzählen ... ob die nun als string kommen oder nicht.

bei perl ist erstmal alles ein string :)
kale_1990
 2006-09-15 10:59
#69897 #69897
User since
2006-09-12
104 Artikel
BenutzerIn
[default_avatar]
aber wenn ich mach $erg[$y] = $dtlfg2[$x] * $dtsmng[$x] und $dtlfg2[$x] = ,15 ist und $dtsmng[$x] = ,68 ist kann es nicht sein das $erg[$y] = 0 ist....es müsst ,102 rauskommen.
ist es wegen dem "," weil es kein punkt ist?
THERE'S MORE THAN ONE WAY TO DO IT - TMTOWTDI

EASY THINGS SHOULD BE EASY - HARD THINGS SHOULD BE POSSIBLE
renee
 2006-09-15 11:03
#69898 #69898
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Wenn es wirklich nur Zahlen enthält, dann kann Perl das automatisch ändern:
Code: (dl )
1
2
3
4
5
6
7
8
9
#!/usr/bin/perl

use strict;
use warnings;

my $string = '7.5';
$string = $string + 3;

print $string,"\n";


gibt 10.5 aus!
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
renee
 2006-09-15 11:05
#69899 #69899
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Trenner sind . und kein , ...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
vayu
 2006-09-15 11:05
#69900 #69900
User since
2005-01-13
782 Artikel
BenutzerIn
[default_avatar]
jop sollte ein punkt sein
kale_1990
 2006-09-15 11:28
#69901 #69901
User since
2006-09-12
104 Artikel
BenutzerIn
[default_avatar]
es lag daran das es ein komma war....hab es jetz geändert und es funktioniert! :) :cool:

danke für die beiträge!!\n\n

<!--EDIT|kale_1990|1158305365-->
THERE'S MORE THAN ONE WAY TO DO IT - TMTOWTDI

EASY THINGS SHOULD BE EASY - HARD THINGS SHOULD BE POSSIBLE
pq
 2006-09-15 12:27
#69902 #69902
User since
2003-08-04
12209 Artikel
Admin1
[Homepage]
user image
[quote=vayu,15.09.2006, 08:56]bei perl ist erstmal alles ein string :)[/quote]
wie kommst du drauf?

my $i = 23; # integer
my $text = "foo"; # string
$i .= "bar"; # intern string *und* integer
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
vayu
 2006-09-15 14:00
#69903 #69903
User since
2005-01-13
782 Artikel
BenutzerIn
[default_avatar]
ok entschuldige, doof ausgedrückt

es ist egal

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
#!/usr/bin/perl

use strict;
use warnings;

my $bd = "3";

if($bd eq "3") {
print "bla";
}
if($bd == 3) {
print "bla";
}


der skalar $bd (als string angegeben) wird je nach bedarf als string, oder als integer ausgewertet
Dubu
 2006-09-15 14:44
#69904 #69904
User since
2003-08-04
2145 Artikel
ModeratorIn + EditorIn

user image
Man sollte es aber nicht übertreiben mit dem "egal":
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
#!/usr/bin/perl -l
use strict;
use warnings;

my $n = "3.0";

if ($n == 3) {
print "Zahl vorher gleich";
} else {
print "Zahl vorher UNGLEICH!";
}

if ($n eq "3.0") {
print "String vorher gleich";
} else {
print "String vorher UNGLEICH!";
}

print "";
$n += 0.0;

if ($n == 3) {
print "Zahl nachher gleich";
} else {
print "Zahl nachher UNGLEICH!";
}

if ($n eq "3.0") {
print "String nachher gleich";
} else {
print "String nachher UNGLEICH!";
}

__END__
Zahl vorher gleich
String vorher gleich

Zahl nachher gleich
String nachher UNGLEICH!
<< |< 1 2 >| >> 14 Einträge, 2 Seiten



View all threads created 2006-09-15 10:44.