Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > Web Development
You last visited: Today at 07:01

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Kaufmännisch Runden mit Prozenten, welche mehr als zwei Nachkommastellen haben

Discussion on Kaufmännisch Runden mit Prozenten, welche mehr als zwei Nachkommastellen haben within the Web Development forum part of the Coders Den category.

Reply
 
Old   #1





 
Legendary's Avatar
 
elite*gold: 16
Join Date: Apr 2012
Posts: 5,497
Received Thanks: 632
Kaufmännisch Runden mit Prozenten, welche mehr als zwei Nachkommastellen haben

Hallo Epvp-Gemeinde,

ich stehe vor ein relativen komplizierten Problem. Und zwar muss ich eine Summe Anteilig anhand von Prozenten aufteilen, sodass die Summe zum Schluss wieder genau 100% ergeben. Zusätzlich sollen die Zahlen Kaufmännisch gerundet werden.

Bsp:

Drei Prozentsätze:
Die Prozentsätze werden anhand von weiteren Daten aus einem System ermittelt und ausgerechnet.

1: 26.19573 %
Gerundet: 26.2 %

2: 65.65339
Gerundet: 65.65 %

3: 8.15088
Gerundet: 8.15 %

Der Betrag entspricht 1000€.

Das Problem hierbei:

1000 * 26.2 / 100 = 262 €
Gerundet: 261.96 €

1000 * 65.65 / 100 = 656.50 €
Gerundet: 656.50 €

1000 * 8.15 / 100 = 81.50 €
Gerundet: 81.50 €

Das Resultat der Rechnung ist nun: 999.96 € anstatt die 1000 €.

Leider ist es nicht möglich das Kaufmännische Runden zu entfernen, da dass System nur 2 Nachkommastellen abspeichert.

Ich wäre euch wirklich für jede Hilfe dankbar.
Legendary is offline  
Old 03/11/2017, 15:16   #2
 
Mikesch01's Avatar
 
elite*gold: 203
Join Date: Sep 2007
Posts: 732
Received Thanks: 190
Tag. Weiss nicht wie du auf 999,96 € kommst.

262,00 €
+ 656,50 €
+ 81,50 €
= 1000,00 €

Sowie

26,2 %
+ 65,65 %
+ 8,15 %
= 100 %

Wenn du die berechneten Zahlen aufsummierst, kommst du auf das richtige Ergebnis.
Mikesch01 is offline  
Old 03/11/2017, 15:31   #3





 
Legendary's Avatar
 
elite*gold: 16
Join Date: Apr 2012
Posts: 5,497
Received Thanks: 632
Quote:
Originally Posted by Mikesch01 View Post
Tag. Weiss nicht wie du auf 999,96 € kommst.

262,00 €
+ 656,50 €
+ 81,50 €
= 1000,00 €

Sowie

26,2 %
+ 65,65 %
+ 8,15 %
= 100 %

Wenn du die berechneten Zahlen aufsummierst, kommst du auf das richtige Ergebnis.
Oh. Da hab ich mein Beispiel leider zerschossen...

Das Problem ist ja folgendes: Wenn man rundet gehen werte Verloren. Und wenn ich alle drei werte Aufrunde habe ich zum Schluss ein Überschuss.
Legendary is offline  
Old 03/11/2017, 17:42   #4
 
Mikesch01's Avatar
 
elite*gold: 203
Join Date: Sep 2007
Posts: 732
Received Thanks: 190
Wenn du alles aufrundest, dann ja, kann es Unstimmigkeiten geben. Aber wie du erwähnt hast, wird ja kaufmännisch gerundet. D.h. die 3. Stelle wird gerundet aufgrund ihrer Nähe zur 0. Somit sollte das richtig gespeichert und dann auch korrekt berechnet werden.

Falls du selber am System etwas programmiert hast, würde ich dir empfehlen nicht alles aufzurunden sondern eine Rundungsfunktion zu benutzen. Z.b round();
Mikesch01 is offline  
Old 03/12/2017, 13:41   #5





 
Legendary's Avatar
 
elite*gold: 16
Join Date: Apr 2012
Posts: 5,497
Received Thanks: 632
Quote:
Originally Posted by Mikesch01 View Post
[...]Falls du selber am System etwas programmiert hast, würde ich dir empfehlen nicht alles aufzurunden sondern eine Rundungsfunktion zu benutzen. Z.b round();
Ich verstehe deine Antwort leider nicht. Ich soll lieber nicht alles runden aber mit round() runden?

Am System selbst kann ich nix Programmieren. Höchstens weitere Add-Ons wie Plug-Ins oder JS-Funktionen hinzufügen.
Legendary is offline  
Old 03/12/2017, 15:19   #6
 
Mikesch01's Avatar
 
elite*gold: 203
Join Date: Sep 2007
Posts: 732
Received Thanks: 190
Ich meinte man sollte mit der round Funktion auf die 3. Stelle runden und nicht alles AUFrunden. Aber das scheint ja nicht zu gehen bei dir. Wenn du das Systemverhalten nicht beeinflussen kannst, wird das nicht möglich sein.

Was für ein System wird denn verwendet?
Mikesch01 is offline  
Old 03/13/2017, 12:13   #7





 
Legendary's Avatar
 
elite*gold: 16
Join Date: Apr 2012
Posts: 5,497
Received Thanks: 632
Quote:
Originally Posted by Mikesch01 View Post
Ich meinte man sollte mit der round Funktion auf die 3. Stelle runden und nicht alles AUFrunden. Aber das scheint ja nicht zu gehen bei dir. Wenn du das Systemverhalten nicht beeinflussen kannst, wird das nicht möglich sein.

Was für ein System wird denn verwendet?
Basis ist das MS-CRM. Aber ich konnte das Problem halbwegs korrekt Lösen. Alle Werte abrunden und nach der Kommastelle Sortieren. Höchste nach oben und die Differenz vom Abrunden aufteilen sofern dies möglich ist. Ggf. bekommt der kleinere Prozentwert keine Summe mehr zum aufrunden.
Legendary is offline  
Old 03/13/2017, 12:25   #8


 
elite*gold: 0
Join Date: Sep 2008
Posts: 526
Received Thanks: 82
Wenn du doch einfach immer zur nähe von 0 rundest, sollte es doch zu keinem Verlust/Überschuss kommen. Sprich <5 abrunden >=5 aufrunden.

Das was bei einem Wert dann abgerundet wird, wird ja bei dem gegenübergestellten wieder aufgerundet und somit sollte kein Verlust da sein oder irre ich mich dabei?
Mozo_ is offline  
Reply

Tags
js, kaufmännisch runden


Similar Threads Similar Threads
Zwei Fragen die mit C++ und Python o.ä. zutun haben
01/24/2017 - Metin2 Private Server - 10 Replies
1. Wie finde ich mit Client doppelte Dateien? 2. Wo finde ich ein Anti EXP Ring der nur mit Python und C++ arbeitet, sprich einem Button definiere^^
Server tool für mehr SnD Runden?
05/23/2013 - Call of Duty - 1 Replies
Moin, Ich hab schon einige Server tools gesehen, die es einem erlaubt haben die Punkte für TeamDeathmatch, Domination etc. zu erhöhen aber nie für SnD, warum ist das so? ist es unmöglich soetwas zu schreiben? Gruß edit: vollkommen vergessen sorry, ich rede von modern warfare 3
Mehr/Weniger Kills/Runden einstellen ?
01/02/2013 - WarRock - 8 Replies
Ich wollte fragen ob es möglich ist mehr/weniger Kills/Runden beim Raum erstellen einzustellen. Z.b 15 Runden Explosiv, 10 Kills bei Deathmatch etc. Muss man das in den Files bearbeiten (Wenn ja, welche?) Oder ist es Serverside ? Pls PN oder hier schreiben c:
Zahl auf 2 Nachkommastellen runden
11/17/2012 - .NET Languages - 14 Replies
Hey Com, Ich habe eine Textbox, deren Inhalt berechnet wird: TextBox15.Text = TextBox16.Text * cf / 1 Nun will ich den Inhalt auf 2 Nachkommastellen kürzen, allerdings kommt dann ein Error: Math.Round(TextBox15.Text, 2)
wie kann man zwei fähigkeiten gleichzeitig haben
05/07/2010 - Metin2 Private Server - 0 Replies
hallo, und eine frage wie kann ich z.b.mental und körper (fahigkeiten) haben also ich bin ga lvl 255 und möchte jetzt noch krieger mental werden.Kann mir einer helfen THX im vorraus :confused::confused::confused::confused::confused ::confused: :(:(:(:(:(:(:(



All times are GMT +2. The time now is 07:01.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.