Schrift
[thread]5828[/thread]

$rkurs = sprintf ("%.2f",$kurs);

Leser: 2


<< |< 1 2 >| >> 14 Einträge, 2 Seiten
ak47
 2003-10-16 16:52
#64148 #64148
User since
2003-08-11
24 Artikel
BenutzerIn
[default_avatar]
Hallo, ich weiss es ist eine Schande, aber ich habe ein Problem:
Ich habe einen Preis den ich mit der Menge multipliziere, also etwa 49,90 x 2 (oder x 1). Das ergibt einen Wert der der immer 99 gibt oder 49 also ohne Nachkommastellen. Mit $rkurs = sprintf ("%.2f",$kurs) ; gibt es dann 99.00 oder 49.00

ICH WERDE WAHNSINNIG!!!!! HILFE\n\n

<!--EDIT|ak47|1066308832-->
pq
 2003-10-16 17:02
#64149 #64149
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
Code: (dl )
1
2
3
4
perl -wle'
$kurs = 49.90;
print $kurs*2'
99.8

klappt doch. oder hast du etwa tatsächlich ein komma anstatt eines punktes
als dezimaltrenner? das musst du zuerst in einen punkt umwandeln.
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
ak47
 2003-10-16 17:07
#64150 #64150
User since
2003-08-11
24 Artikel
BenutzerIn
[default_avatar]
echt, das ist alles? ich muss mit Punkten rechnen?
havi
 2003-10-16 17:28
#64151 #64151
User since
2003-08-04
2036 Artikel
BenutzerIn
[Homepage]
user image
Ja!

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

use warnings;
use strict;

my $kurs1 = 49,90;
print $kurs1 *2, "\n"; # 98 + Fehlermeldung von Perl bei einsetzen von use warnings;

my $kurs2 = 49.90;
print $kurs2 *2, "\n"; # 99.8

my $kurs3 = "49,90";
$kurs3 =~ s%,%.%g;
print $kurs3 *2, "\n"; # 99.8

1;


Gruss\n\n

<!--EDIT|havi|1066310975-->
format_c
 2003-10-16 17:31
#64152 #64152
User since
2003-08-04
1706 Artikel
HausmeisterIn
[Homepage] [default_avatar]
Komma als Dezimaltrenner ist "Deutsch".
In America wird das Komma da zu verwendet um die tausender zu trennen:
1,000,000
Aber 3.56

Gruß Alex
Crian
 2003-10-16 17:45
#64153 #64153
User since
2003-08-04
5870 Artikel
ModeratorIn
[Homepage]
user image
Nicht wundern - die spinnen, die Amis ;-)

Und wir müssen deren gespaltenes Verhältnis zu Zahlen und deren korrekter Darstellung nun auf den amerikanischen Rechensystemen ausbaden ^^ :-D
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
betterworld
 2003-10-17 00:58
#64154 #64154
User since
2003-08-21
2614 Artikel
ModeratorIn

user image
Also ich finde es eigentlich ganz sinnvoll. Jedenfalls waere es beim Programmieren nicht sehr angenehm, wenn man ein Komma als Dezimalzeichen verwendet:
Code: (dl )
print "Das Quadrat von $_ ist ".($_**2) for 42,69
Crian
 2003-10-17 17:11
#64155 #64155
User since
2003-08-04
5870 Artikel
ModeratorIn
[Homepage]
user image
Interessantes Argument. Aber wären die Sprachen nicht in einem System entstanden, in dem man Zahlen nun einmal so schreibt (mit Punkt als Dezimaltrenner), sähe die Syntax anders aus. D.h. Du wärst nicht daran gewöhnt, dass sie so ist, wie sie ist.

Ich will es ja jetzt auch gar nicht mehr ändern, aber jeder Deutsche oder Europäer (?) muss ersteinmal diesen Bedeutungsdreher verstehen, wenn er das erste Mal mit Zahlen und einem Computer zu tun hat...
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
betterworld
 2003-10-17 17:24
#64156 #64156
User since
2003-08-21
2614 Artikel
ModeratorIn

user image
[quote=Crian,17.10.2003, 15:11]Aber wären die Sprachen nicht in einem System entstanden, in dem man Zahlen nun einmal so schreibt (mit Punkt als Dezimaltrenner), sähe die Syntax anders aus.[/quote]
Darueber habe ich auch nachgedacht. Es ist aber eigentlich gut, dass wir die englisch-amerikanische Version genommen haben statt der deutschen. Denn sonst haetten wir ja gar kein Trennzeichen mehr fuer Listen gehabt. Der Punkt bietet sich da intuitiv ja nicht so wirklich an. Bliebe nur noch das Semikolon. Das gaebe dann aber auch ein Durcheinander.
Es ist nun aber eigentlich sinnlos, dass ueber so etwas philosophiere... ebenso als wenn ich ueberlege, wie Mathematik bei Ausserirdischen aussieht :)
Crian
 2003-10-17 17:28
#64157 #64157
User since
2003-08-04
5870 Artikel
ModeratorIn
[Homepage]
user image
:-D

Stimmt, genau das hatte ich aber auch gedacht, dann bräuchte man irgend ein intuitives Zeilenendezeichen.
Aber vielleicht hätte man dafür ein anderes - jetzt nicht existentes - Zeichen verwendet, das irgendwo auf der Tastatur liegen würde. Oder vielleicht '#' (und Perl hätte endlich Multilinecomments mit /* ... */ ;-) )

Aber natürlich ist es müßig darüber nachzusinnen, macht aber Spaß :-D
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
<< |< 1 2 >| >> 14 Einträge, 2 Seiten



View all threads created 2003-10-16 16:52.