Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

cgi zwei stellen nach dem komma löschen

Empfohlene Antworten

Hallo,

einfach abschneiden oder kaufmännisch runden?

Abschneiden mit sprintf

Kaufmännisch so:


sub RUNDEN($,$) {


#

# Rundet einen Wert mit beliebig vielen Nachkommastellen KAUFMÄNNISCH(!)

# auf einen Wert mit der angegebenen Zahl Nachkommastellen.

# Kaufmännisch heißt im Beispiel mit zwei Stellen:

# 3.45 bleibt 3.45

# aus 3.4510000000001 bis 3.4549999999999 wird 3,45

# aus 3.4550000000001 bis 3.4599999999999 wird 3,46

#

# Außerdem werden Dezimalpunkte eingefügt und aus dem Dezimalpunkt wird ein

# Komma gemacht. z.B. aus 1234.56 wird 1.234,56 bei 2 Stellen

#

# Die Nachkommastellen werden mit 0 aufgefüllt wenn durch den Wert die

# angegebene Zahl nicht erreicht wird, z.B. aus 3.4 wird 3,400 bei 3 Stellen

# Wird aufgerufen mit

# $return = &RUNDEN($num,$prec);

# wobei $num die zu rundende Zahl ist und $prec die Anzahl der zu rundenden

# Nachkommastellen ist

#

# $return enthält dann den gerundeten Wert von $wert oder 0 bei Mißerfolg

# ACHTUNG:

# ========

# 1. Mit dem Rückgabewert dieser Routine läßt sich NICHT mehr RECHNEN!

# 2. Arbeiten Sie nach Aufruf nicht mehr mit $_ im Hauptprogramm!

#

# Testanwendung:

# ==============

# my @num = ('-9999.9999','5555.5555','+.5','-.05','3.455','-3.455');

# printf "\n%10s | %-20s\n\n", 'Stellen', 'gerundet';

# foreach my $num (@num) {

#   print "Wert = $num\n";

#   foreach my $prec (0..5) {

#     printf "%10s | %-20s\n",$prec,(&RUNDEN($num,$prec));

#   }

# }

#

# Mit bestem Dank an Mona Wuerz!

# <news:200420010809092362%wuerz@yahoo.com>

#


 my ($num, $prc) = @_;

 $num = eval {local $^W; $num+0 ? $num : 0}; # Toleranz!

 $prc = eval {local $^W; $prc+0 ? $prc : 0};

 local $_ = reverse sprintf "%.*f", $prc, $prc > 0 ? $num :

 (sprintf "%.1f", $num * 10**($prc-1)) * 10**(1-$prc);

 s/(\d{3})(?=\d)(?!\d*\.)/$1,/g;             # aus perlfaq5

 tr/.,/,./;

 scalar reverse;


}

Gruß Jaraz

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.