PHP vermenigvuldigen verwijderd laatste 0

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Danny von Gaal

Danny von Gaal

22/05/2017 22:55:45
Quote Anchor link
Om van kg naar lbs te rekenen wil ik een getal * 2.20462262185 doen zoals hieronder. Alleen verwijdert php de laatste 0 automatisch waardoor het terug rekenen niet meer lukt omdat het een belangrijke 0 is.

Iemand een idee?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$newWeight
= $InputWeight * 2.20462262185;
?>
 
PHP hulp

PHP hulp

11/12/2019 17:45:17
 
Ben van Velzen

Ben van Velzen

22/05/2017 23:18:30
Quote Anchor link
Hoe kan de laatste 0 in een getal als 1.330 belangrijk zijn? Hint: niet. Nullen op het einde veranderen het getal niet.
 
Danny von Gaal

Danny von Gaal

23/05/2017 10:38:18
Quote Anchor link
Hallo Ben,

Een 0 aan het einde van een getal vergeten heeft zeker wel invloed op het getal en een 0 aan het begin niet.

Voorbeeld:
50 * 2.20462262185 = 11023113109250
Uitkomst van bovenstaande som via php = 1102311310925

Met terugrekenen kom je niet meer op het zelfde getal uit:
1102311310925 / 2.20462262185 = 5

Is hier een oplossing voor of moet ik gewoon structureel na de som een 0 erachter plakken?
 
Ben van Velzen

Ben van Velzen

23/05/2017 11:23:26
Quote Anchor link
Ik weet niet waar jij vandaan haalt dat 50 * 2.20462262185 11023113109250 is, want het ligt dichter in de buurt van de 110. Of zit je formattering toe te passen waar dat niet hoort? Wat is de precision instelling in php.ini?
 
Ivo P

Ivo P

23/05/2017 11:39:20
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php

$a
= 50 * 2.20462262185;

echo $a;
echo PHP_EOL;
echo $a /  2.20462262185 ;

echo PHP_EOL;
?>


levert als output:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
110.2311310925
50
 
Danny von Gaal

Danny von Gaal

23/05/2017 13:48:14
Quote Anchor link
Ben van Velzen op 23/05/2017 11:23:26:
Ik weet niet waar jij vandaan haalt dat 50 * 2.20462262185 11023113109250 is, want het ligt dichter in de buurt van de 110. Of zit je formattering toe te passen waar dat niet hoort? Wat is de precision instelling in php.ini?


Doe maar is op de windows calculator 50 * 2.20462262185.


@IVO: wat jij typt dat klopt. Maar het gaat mij erom als je 50 * 2.20462262185 doet en dat antwoord weer delen door 2.20462262185 dan kom je niet meer op 50 uit.
Gewijzigd op 23/05/2017 13:49:28 door Danny von Gaal
 
- SanThe -

- SanThe -

23/05/2017 14:07:08
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
$uitkomst
= 50 * 2.20462262185;
echo $uitkomst;
echo '<br/>';
echo $uitkomst / 50;
echo '<br/>';
echo $uitkomst / 2.20462262185;
?>

Geeft:

110.2311310925
2.20462262185
50

Ik weet niet hoe jij het doet, maar hier werkt het gewoon.
 
John D

John D

23/05/2017 14:07:39
Quote Anchor link
decimaal instelling, verschil tussen komma en punt (NL versus US) ??
 
Ward van der Put
Moderator

Ward van der Put

23/05/2017 14:10:44
Quote Anchor link
Danny von Gaal op 23/05/2017 13:48:14:
@IVO: wat jij typt dat klopt. Maar het gaat mij erom als je 50 * 2.20462262185 doet en dat antwoord weer delen door 2.20462262185 dan kom je niet meer op 50 uit.

Jawel hoor: https://3v4l.org/Vorj7

Laat anders eens je code zien, want het kan haast niet anders dan dat je meer doet dan alleen vermenigvuldigen en delen.
 
Ben van Velzen

Ben van Velzen

23/05/2017 14:19:08
Quote Anchor link
>> Doe maar is op de windows calculator 50 * 2.20462262185.
Wel met een komma, ik heb de Nederlandse instelling en die negeert punten ;)
En dat is zo te zien ook jouw probleem, je probeert een getal te krijgen dat niet klopt, en baseert zo te zien je vondsten op de Windows rekenmachine? Dat is problematisch op verschillende niveaus. Verder sluit ik me uiteraard bij Ivo en Ward aan, je doet ergens iets dat niet in de haak is, want je probleem is niet gerelateerd aan PHP.
 
Danny von Gaal

Danny von Gaal

23/05/2017 22:12:12
Quote Anchor link
Bedankt mensen want het lijkt er inderdaad op dat de windows calc en php iets anders zeggen. Ik heb de uitkomst van de php som gedeeld door 2.20462262185 via de windows calculator en kwam op 5 uit ipv 50 dus toen ben ik gestopt met het script om daar eerst achter te komen.

Terwijl als ik het met php terug reken ik wel weer op 50 uit kom. Waarom dit zo is snap ik alleen nog niet.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
$InputWeight
= 50;
$newWeight = $InputWeight * 2.20462262185;
    echo $newWeight . "<br/>";
$newWeight2 = $newWeight / 2.20462262185;
    echo $newWeight2;
?>


Uitkomst:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
110.2311310925
50
Gewijzigd op 23/05/2017 22:13:35 door Danny von Gaal
 
Ben van Velzen

Ben van Velzen

23/05/2017 22:34:06
Quote Anchor link
Als je in calc een getal met . invoert krijg je de output die je kreeg, namelijk een geheel getal dat te lang is voor de rekenmachine. Dat verklaart een hoop.
 



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.