Thread Anzeigen Zeichen welche nicht zur Menge gehören (21 answers)
Opened by Coruno95 at 2017-04-15 11:54

hlubenow
 2017-04-16 01:22
#186357 #186357
User since
2009-02-22
875 Artikel
BenutzerIn
[default_avatar]
2017-04-15T21:55:49 Coruno95
Könntest du mir vielleicht noch erklären, wie int() hier funktioniert?

Ah, das ist im Detail nicht so ganz leicht:
Andere Sprachen haben echte Integer. Wenn man da "7 / 2" mit Integern dividiert, erhält man 3 (nicht 3.5) *.
Perl unterscheidet ja eigentlich nicht zwischen Integern, Float und sogar Strings. Es kennt ja nur die Skalar-Variablen (z.B. $a).
Das int() benutzt er, um den Dezimalteil abzuschneiden, also immer abzurunden, wenn Deine Stringlänge ungerade ist. Ob man das, wenn man penibel ist, so machen soll, ist wohl nicht so ganz klar:

http://stackoverflow.com/questions/539797/how-shou...

"perldoc -f int" empfiehlt dafür z.B. auch eher sprintf(), also
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
#!/usr/bin/perl

use warnings;
use strict;

my $a = 7;
my $b = $a / 2;
print "$b\n";
my $c = sprintf("%d", $b);
print "$c\n";


* In Python ist das z.B. ganz interessant gelöst:
Code (python): (dl )
1
2
3
4
5
#!/usr/bin/python
# coding: utf-8

print 7 / 2
print 7 / 2.

Code: (dl )
1
2
3
Output:
3
3.5

Wenn da bloße Zahlen stehen, geht Python von int aus. Wenn man also ein mathematisch korrektes Divisionsergebnis haben will (also float), muß man darauf achten, daß bei zumindest einer Zahl irgendwo ein Punkt dahinter steht (oder sowas wie "2.0").
Last edited: 2017-04-16 01:27:15 +0200 (CEST)

View full thread Anzeigen Zeichen welche nicht zur Menge gehören