Jump to content
  • 0

Getallen importeren?


Optic

Question

Beste mede-forumleden,

 

Ik zit met het volgende probleem:

 

Vanuit een Excel bestand wil ik getallen importeren in een FMP tabel. Het veld waar ik de getallen in importeer is een getal veld vanuit een 'standaard' veld in het Excel bestand. Echter gaat dit niet helemaal zoals het moet.

 

Het excel bestand bevat bijvoorbeeld 16,67 en filemaker importeert dit als 16,670000000000002.

 

16,6 = 16,600000000000001

0,7 = ,69999999999999996

7,15 = 7,1500000000000004

0,91 = ,91000000000000003

 

Ik snap hier werkelijk helemaal niets van, zie ik iets over het hoofd?

 

 

Alvast bedankt.

 

Gr. Optic

Link to comment

14 answers to this question

Recommended Posts

  • 0

Daar heb ik naar gekeken, helaas is dat niet het geval. De notatie van de velden in Excel staat ook op standaard zonder specifieke notatie. Als ik de notatie naar getal zet met max aantal decimalen is 7,15 nog steeds 7,15 en geen 7,1500000000000004.

 

Trouwens ook nog even geprobeerd om 7,15 te exporteren vanuit FMP naar excel en vervolgens weer te importeren...7,1500000000000004 :x

Link to comment
  • 0

Ook vreemd is dat excel ook vreemd omgaat met zijn cijfers. Ik heb in excel 2008 (mac) een 7 tal getallen ingevoerd met op de 11e ,12e ,13e enz positie achter de komma een 1, 2, 3 enz. Excel toont dan die getallen ook niet meer? Importeer ik ze in filemaker dan is het helemaal een rommeltje. Zal wel zoals AvD zegt iets met de omzetting te maken hebben. Echter niet alleen filemaker heeft er problemen mee excel zelf dus blijkbaar ook?

5a758dc884a34_Afbeelding1.png.fb4615ac7c6266d2c4560ed4e7c8f3d9.png

Link to comment
  • 0

Ik kan dit gedrag met de beste wil van de wereld niet reproduceren.

De getallenreeks uit Excel komt volstrekt overeen met die na een import in FileMaker. Zelfs het getal 7,15 blijft bij een nieuw Excel bestandje na import 7,15, dus daaraan kan het ook niet liggen :wink:

 

Dit is mijn testconfiguratie:

FMPA9v3 ; Vista HP ; Office2003

 

Edit: na lezing laatste post: installeer je mac excel eens opnieuw.

Link to comment
  • 0

Inderdaad Rony bij nadere beschouwing treden er (toch) afwijkingen op zoals:

 

16,6 = 16,600000000000001

16,67 = 16,670000000000002

2,22 = 2,2200000000000002

0,07 = ,070000000000000007

 

Ook als ik Excel formatteer op twee decimalen achter de komma krijg ik dit resultaat in FMP, heel vreemd.

Aan de andere kant bij een vers aangemaakt excel bestand waarin ik deze probleemgetallen zet krijg ik een perfect duplicaat in FileMaker.

 

En..als ik in het originele Excel bestand de probleemgetallen overschrijf dan gaat het ook goed.

Link to comment
  • 0
Inderdaad Rony bij nadere beschouwing treden er (toch) afwijkingen op zoals:

 

16,6 = 16,600000000000001

16,67 = 16,670000000000002

2,22 = 2,2200000000000002

0,07 = ,070000000000000007

 

Ook als ik Excel formatteer op twee decimalen achter de komma krijg ik dit resultaat in FMP, heel vreemd.

Aan de andere kant bij een vers aangemaakt excel bestand waarin ik deze probleemgetallen zet krijg ik een perfect duplicaat in FileMaker.

 

En..als ik in het originele Excel bestand de probleemgetallen overschrijf dan gaat het ook goed.

 

Ja, maar als je het vervolgens weer exporteert en importeert zijn de decimalen weer terug :(

 

Ik hoop dat iemand anders een oplossing heeft voor dit probleem, na 2 dagen wordt het toch wel erg warm onder de voeten gezien het om enkele 10-duizenden records met deze getallen gaat. Handmatig aanpassen is geen optie en berekeningen om af te ronden is wat omslachtig.

Link to comment
  • 0

Hou er in het algemeen rekening mee dat zogenaamde floating point berekeningen een beperkte precisie hebben. Dat geldt voor FileMaker maar ook voor andere programma's. FileMaker laat daar op zich geen steken vallen, het ligt in de aard der dingen.

 

De precisie ligt bij FileMaker standaard vast op 16 decimalen. Vandaar het resultaat. Op de "16de decimaal" gebeurt inderdaad een afronding, blijkens de voorbeelden. Overigens kan je met de functie SetPrecision() de precisie verhogen. Verlagen zou theoretisch ook kunnen, maar werkt (blijkbaar) niet, tenzij iemand het tegendeel kan bewijzen?

 

- Jeroen

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...