Afronding berekening (totaalprijs) gaat fout

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

Bekijk vacature »

PHP Laravel developer

Functie omschrijving Weet jij alles van Laravel en krijg je energie van het ontwikkelen van software hiermee? Laat snel wat van je horen want wij zoeken een PHP/Laravel developer in regio 's-Hertogenbosch. Jouw taken zullen bestaan uit: Softwareapplicaties ontwikkelen en verder optimaliseren in veel diverse projecten op basis van Agile/Scrum. Uitleg geven over software en applicaties Klantcontact hebben over bestaande applicaties. Documentatie schrijven over applicaties. Techstack: PHP, Laravel, HTML, CSS, Javascript. Bedrijfsprofiel Deze organisatie zit in de regio van 's-Hertogenbosch en is een klein softwarebedrijf. Er werken ongeveer 15 medewerkers, verdeeld in meerdere teams, zoals back-end en front-end development, projectmanagement

Bekijk vacature »

Fullstack JavaScript developer (ReactJS, NodeJS, T

Functie Het team bestaat momenteel uit ruim 15 collega’s, waarvan ruim de helft in het ontwikkelteam werkzaam is. Er zijn gave plannen om het platform ook te gaan toepassen op bijv. vliegvelden, maar ook internationale groei zit in het verschiet en daarom zijn ze op zoek naar versterking. Als Fullstack JavaScript developer werk je nauw samen met 9 fullstack (Python en .NET) developers. Binnen het team ga jij je toespitsen op het creeren van de optimale toegankelijkheid en user experience. Om dit voor elkaar te krijgen zul je ontwerpen, programmeren, testen en implementeren. Het hele proces dus! Maar ook bijvoorbeeld

Bekijk vacature »

Ambitieuze medior developer

Wat je gaat doen: Heb jij al een paar jaar ervaring als developer maar wil jij naar the next level? In ons NextLevelDev Programma helpen wij jou om de volgende stap te zetten: een mooi programma aan trainingen op het gebied van Java, hippe frameworks, Agile/Scrum, OCP-certificering en optioneel: andere JVM-talen als Kotlin en Scala; Cloud (AWS, Azure, GCP) Soc Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun

Bekijk vacature »

SAP Integratie Ontwikkelaar

Ben jij ambitieus in de verdere ontwikkeling van SAP binnen HANOS, en heb je kennis van SAP PI, CPI (SAP integration suite) en of andere middleware tooling? Dan ben jij mogelijk onze nieuwe SAP Integratie (middleware) Ontwikkelaar! Lees snel verder en solliciteer! Wat ga je doen? Als SAP Financieel Consultant ben je, als deel van een gedreven team van interne SAP consultants, de schakel tussen de gebruikersorganisatie en ICT. Je draagt proactief bij aan een optimale aansluiting van de SAP-functionaliteit (een applicatielandschap met o.a. Suite on HANA, Fiori, Hybris, C4C en BO), op de bedrijfsprocessen. Verder ondersteun je de HANOS

Bekijk vacature »

Java developer Zorgsysteem

Dit ga je doen Werken aan het eigen gebouwde zorgsysteem; Verbeteringen maken en toepassen binnen de applicatie; Jij gaat werken aan de Back-end van de applicatie en sporadisch werk je mee aan de Front-end; Samenwerken met andere teams voor een optimaal resultaat; Jij kan 'clean' werken en high quality code schrijven; Jij werkt resultaatgericht. Hier ga je werken De organisatie houdt zich bezig met diverse applicaties met betrekking tot zorgregistratie. Dankzij hun systeem komt alle informatie, omtrent de zorg van een patiënt, op een overzichtelijke en toegankelijke manier samen in één systeem te staan. Op deze manier is deze informatie

Bekijk vacature »

C#.NET Developer

Functieomschrijving Voor een software ontwikkelaar in de omgeving van Vught zijn we op zoek naar een gemotiveerde C# ontwikkelaar. Deel jij hun passie voor development en dan vooral in C#.NET? Dan kan dit wel eens jouw droombaan zijn! Jouw werkzaamheden zullen er ongeveer als volgt uit gaan zien Door de wensen van de klant goed te begrijpen ga jij aan de slag dit om te zetten naar passende oplossingen en werk je deze uit tot een sterk eindproduct. Je gaat je bezighouden met de ontwikkeling van webapplicaties en websites, dit doe je door middel van ASP.NET, MVC Frameworks en C#.

Bekijk vacature »

Junior .NET developer

Functie Wij hebben drie scrumteams. Het eerste team focust zich op het stukje hardware wat wij in huis doen. Zij maken als team o.a. gebruik van C++. De andere twee scrumteams zijn allebei bezig met data verwerking en maken hierbij in de backend gebruik van C# .NET / .NET Core. Het verschil tussen deze teams is dat één team de data verwerking doet voor de mobiele applicatie. Zij werken hierbij dus ook met Xamarin. Het andere team focust zich op de webapplicaties en maakt hierbij ook gebruik van ASP.NET MVC. Op basis van jouw ambities en kwaliteiten kijken wij samen

Bekijk vacature »

Junior / Medior C# .NET ontwikkelaar in Brabants t

Bedrijfsomschrijving Ben jij een gepassioneerde C# .NET ontwikkelaar met een voorliefde voor hardware? Dan is dit de perfecte kans voor jou! Bij ons bedrijf krijg je de kans om deel uit te maken van een team van sociale en enthousiaste techneuten die er elke dag naar streven om onze eigen ontwikkelde software nog beter te maken. Het team van ongeveer 10 team medewerkers maakt zich hard om de interne processen gestroomlijnd te laten verlopen. Functieomschrijving Als lid van ons hechte en behulpzame team word je betrokken bij diverse projecten. Daarbij krijg je te maken met data-analyses, content en de logistieke

Bekijk vacature »

Productontwikkelaar Food

Wat ga je doen Als Productontwikkelaar Food ga je nieuwe producten ontwikkelen en bestaande producten verbeteren. Je bent hierbij betrokken bij het gehele proces: van productconcept naar proefreceptuur, het realiseren va het product (op kleine schaal) en het testen van producten in een productieomgeving. Verder: Bewaak je de status van verschillende fases van productontwikkeling en lever je tijdig de benodigde data aan Ben je bezig met de optimalisatie van oude en nieuwe recepturen Begeleid of organiseer je proefsessies (sensorisch onderzoek) in het team en/of bij klanten Onderhoud je contacten met de klanten, leveranciers van grondstoffen e.a. externe partijen Houd je

Bekijk vacature »

Software Developer

Functie omschrijving In deze functie ga je aan de slag met het door ontwikkelen van de interne software. Zij maken gebruik van een CRM, wat door de hele organisatie gebruikt wordt. Andere taken: Je gaat het CRM-systeem door middel van PHP verder ontwikkelen; Verder bouw je verschillende API's en koppelingen tussen systemen; Ook ga je collega's ondersteunen bij vragen over de software en applicaties; Deelnemen aan overleggen met het development team; Bij interesse is er de mogelijkheid om junioren te gaan begeleiden. Bedrijfsprofiel Dit bedrijf is actief binnen de telecombranche. Het hoofdkantoor zit in regio van Den Bosch en er

Bekijk vacature »

.NET Developer Medior Senior

Dit ga je doen Ontwikkelprocessen verder optimaliseren en verder ontwikkelen met C#; CI/CD-pipelines automatiseren; Herbruikbare componenten maken; Testen; Front-end pagina's gebruiksvriendelijk maken. Hier ga je werken Als .NET Developer kom jij terecht binnen een grote en internationale organisatie. Zij streven naar een positieve impact op de mens, milieu en maatschappij. Het bedrijf is oorspronkelijk een familiebedrijf en werkt aan de productie van hoogwaardige en technische systemen voor de gezondheidszorg. Momenteel willen zij betere ontwikkelprocessen creëren op internationaal gebied en staat kwaliteit en veiligheid voor hun op nummer 1! Als .NET Developer werk jij aan het ontwikkelen van verbeterde software voor

Bekijk vacature »

Laravel / PHP developer gezocht!

Functie omschrijving Wij zijn op zoek naar een Laravel PHP Developer voor een leuk bedrijf in de omgeving van Amsterdam! Je zult je bezig houden met de volgende werkzaamheden: Je gaat aan de hand van de wensen van klanten software ontwikkelen; Je bent bij het gehele proces betrokken; van A tot Z; Je hebt na de oplevering contact met de klant wanneer zij problemen ervaren; Je denkt mee over het verbeteren van de werkprocessen; Je denkt mee over softwareoplossingen; Je speelt in op de behoefte van de klant; Je houdt je bezig met het verbeteren, aanpassen en vernieuwen van de

Bekijk vacature »

Java Developer

Java/Kotlin Developer Ben jij een ervaren Java/Kotlin developer met een passie voor het automatiseren van bedrijfsprocessen? Wil je graag deelnemen aan uitdagende projecten bij aansprekende klanten? En ben je op zoek naar een professioneel, ambitieus en dynamisch bedrijf om je carrière verder te ontwikkelen? Kom dan ons team bij Ritense in Amsterdam versterken! Zo ziet de functie eruit: Als Java/Kotlin developer bij Ritense ben je verantwoordelijk voor de ontwikkeling en implementatie van applicaties die bedrijfsprocessen automatiseren, zodat onze klanten slimmer, efficiënter en klantgerichter kunnen werken. Als developer ben je in de lead en zorg je voor de correcte oplevering van

Bekijk vacature »

C# Developer

Dit ga je doen De requirements in kaart brengen van de klant; Implementeren van functionele en technische specificaties bij opdrachtgevers; Oplossen van bugs; Meewerken aan maatwerksoftware voor nieuwe opdrachtgevers; Het testen en uitleveren van nieuwe functionaliteiten naar de acceptatie en productieomgeving De database ontwikkelen en onderhouden; Hier ga je werken Onze klant is gevestigd in het westen van Nederland en is gespecialiseerd in het ontwikkelen van software voor de levensmiddelen industrie. De software die het team maakt optimaliseert voornamelijk de administratieve processen, maakt deze meetbaar en zorgt ervoor dat de data zo goed mogelijk gebruikt kan worden. Binnen een van

Bekijk vacature »
N tigerrag

N tigerrag

04/09/2016 14:35:14
Quote Anchor link
Goedendag allemaal,

Ik zit even met een klein mysterie.. Voor de berekening van een Totaalprijs (aantal x prijskeuze) waarbij ik decimalen met een . invoer en dus niet met een , (komma) en waarbij ik het aantal en prijskeuze post en vervolgens vermenigvuldig met: sprintf("%01.2f",) word de output verkeerd afgerond: bedragen achter de . worden niet meegerekend.
voorbeeld: (form input)
Quote:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?php  
      $fields_3
=   array("Aantal1"  => "1",
                          "Aantal2"  => "1",
                          "Aantal3"  => "3",
                          "Aantal4"  => "3"

                           );                 
      foreach($fields_3 as $field => $value)    
            {


         $type = "text";
         $placeholder3= "Aantal";
          echo "<div id='field'><input id='$field' name='$field' type='$type' value='".@$$field."' size='3' maxlength='10' placeholder='$placeholder3' /> <b>x</b> </div>";              }
      

$fields_5 =   array("Prijskeuze1"  => "2.50",
                          "Prijskeuze2"  => "3.00",
                          "Prijskeuze3"  => "1.25",
                          "Prijskeuze4"  => "2.50"
                           );                 
      foreach($fields_5 as $field => $value)    
            {

         $type = "text";
         $placeholder4= "Prijs p/stuk";
          echo "<div id='field'><input id='$field' name='$field' type='$type' value='".@$$field."' size='5' maxlength='10' placeholder='$placeholder4' /></div>";              }

?>


vervolgens gaat deze input doormiddel van POST naar invoer.php:
Quote:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
40
<?

require_once '../../misc/log_config.inc.php';
  $Id= $_POST['Id'];
  
  $Aantal1 = $_POST['Aantal1'];
  $Aantal2 = $_POST['Aantal2'];
  $Aantal3 = $_POST['Aantal3'];
  $Aantal4 = $_POST['Aantal4'];
  
  $Prijskeuze1 = $_POST['Prijskeuze1'];
  $Prijskeuze2 = $_POST['Prijskeuze2'];
  $Prijskeuze3 = $_POST['Prijskeuze3'];
  $Prijskeuze4 = $_POST['Prijskeuze4'];
  
  $Totaalprijs1= sprintf("%01.2f",$Aantal1*$Prijskeuze1);
  $Totaalprijs2= sprintf("%01.2f",$Aantal2*$Prijskeuze2);
  $Totaalprijs3= sprintf("%01.2f",$Aantal3*$Prijskeuze3);
  $Totaalprijs4= sprintf("%01.2f",$Aantal4*$Prijskeuze4);
        

$sUpdatequery = "UPDATE Bestelling SET
       Aantal1='$Aantal1',Aantal2='$Aantal2',Aantal3='$Aantal3',Aantal4='$Aantal4',

       Prijskeuze1='$Prijskeuze1',Prijskeuze2='$Prijskeuze2',Prijskeuze3='$Prijskeuze3',      
       rijskeuze4='$Prijskeuze4',
                
       Totaalprijs1='$Totaalprijs1',Totaalprijs2='$Totaalprijs2',Totaalprijs3='$Totaalprijs3',
       Totaalprijs4='$Totaalprijs4',
      
      WHERE Id='$Id'"
;

$rDatabaseverbinding = mysql_connect(MYSQL_SERVER, MYSQL_GEBRUIKERSNAAM, MYSQL_WACHTWOORD) or die(mysql_error());

mysql_select_db(MYSQL_DATABASENAAM) or die(mysql_error());

$rRecordset = mysql_query($sUpdatequery) or die(mysql_error());

echo "<center><strong>De Bestelling is opgeslagen!</strong>,</center></br></br>\n";
?>


nu zou die dus als resultaat moeten teruggeven en opslaan:
$Totaalprijs1 = "2.50" //1x 2.50
$Totaalprijs2 = "3.00" // 1x 3.00
$Totaalprijs3 = "3.75" // 3 x 1.25
$Totaalprijs4 = "7.50" // 3 x 2.50

Maar nu krijg ik:
$Totaalprijs1 = "2,50"
$Totaalprijs2 = "3,00"
$Totaalprijs3 = "3,75"
$Totaalprijs4 = "7,50"

Vervolg berekening(en) gaan vervolgens niet goed in afronding omdat de input . nu ineens een , is geworden.

Het lijkt erop dat het script van de input . een komma maakt als decimaal en daardoor niet goed afrond. Mijn vraag is hoe dit mogelijk is en wat ik wellicht fout doe. De invoer gaat correct met een . als decimaal. Voor een juiste berekening moet dit ook een . blijven.

Ik vermoed dat er ergens in het dynamische input form iets niet goed gaat. Als ik het input form in een niet dynamische form uitvoer, gaat het wel goed.

Hopelijk heb ik het duidelijk uitgelegd wat het probleem is en kan iemand mij helpen met een oplossing
Gewijzigd op 04/09/2016 14:48:26 door N tigerrag
 
PHP hulp

PHP hulp

30/11/2024 13:11:45
 
- SanThe -

- SanThe -

04/09/2016 14:57:53
Quote Anchor link
De function sprintf() geeft een geformatte string terug. Waarschijnlijk staat de server ingesteld op NL en dan is het logisch dat er een komma in staat. Sla nooit geformatte data op in de database, dan heb je dit probleem niet. Verder is het niet nodig om de totaalprijs op te slaan, die kun je namelijk altijd berekenen uit de databasegegevens.
 
N tigerrag

N tigerrag

04/09/2016 15:12:36
Quote Anchor link
Beste SanThe,

inderdaad dubbel om de totaalprijs op te slaan. Echter als deze berekening via een html form input laat uitvoeren door invoer.php dan geeft het wel de punten terug ipv komma. Server instelling is niets aan veranderd dus het zou moeten werken.

Jij bedoelt dat de totalen geformatte pas laat uitrekenen bij een weergave op het scherm ipv opslaan?

Ik vind het raar dat het script met een dynamisch form de invoer . omzet een , zonder dat ik er om vraag.
 
- SanThe -

- SanThe -

04/09/2016 15:27:09
Quote Anchor link
Van php.net:
Quote:
f - the argument is treated as a float, and presented as a floating-point number (locale aware).

Dus als het op NL staat krijg je een komma.
Gewijzigd op 04/09/2016 15:29:09 door - SanThe -
 
N tigerrag

N tigerrag

06/09/2016 22:41:52
Quote Anchor link
Beste SanThe,

Ik heb nog even kritisch naar je reactie gekeken en je had gelijk. In mijn config bestand stond de locatie op Nl. Ik heb dit gewijzigd en krijg nu weer een . en daarmee gaat de afronding via sprintf("%01.2f",) ook weer goed.

Ik ben overgegaan op een andere manier van scripting (veiliger). Dat verklaard waarom forms uit mijn oude systeem welke deels nog draait nog wel goed gaan bij afronding

Hartelijk dank voor de tips en reactie op mijn probleempje....OPGELOST
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.