Brian Dunning's FileMaker Custom Functions

ConvertFractToNum ( number )

Converts a fraction to a real number.

  Average rating: 4.5 (31 votes) Log in to vote

Colin Keefe   Colin Keefe
IT Solutions Consulting, Inc
http://itsolutions-inc.com

Share on Facebook Share on Twitter

  Sample input:
ConvertFractToNum(5 1/2)
  Sample output:
5.5

  Function definition: (Copy & paste into FileMaker's Edit Custom Function window)

I've been using Mikhail Edoshin's Fraction() custom function for awhile now - it's great. (see: http://edoshin.skeletonkey.com/)

For a particular application, I needed a method to convert user-entered fractions back into a real number, so I could perform math on it, so I wrote this up to complement Mikhail's function. Feed it a fraction, and it'll do its level best to produce a real number.

There's some room for improvement here in terms of error capture, but much of that could be handled at field-level validation, to prevent malformed fractions from being entered.

 

Comments

Sam Barnum   Sam Barnum, 360Works
Nov 16, 2010
This is handy, but doesn't correctly handle fractions without a space (e.g. "1/2"). I've modified it a bit:

Let ( [
$number = Trim(number);
$integer = LeftWords($number;1);
$denominator = Right ( $number ; Length($number)-Position($number; "/";1;1 ));
$numerator = Middle ( $number ; Position ( $number ; " "; 1 ; 1 ) ; Position ( $number ; "/"; 1 ; 1 )-Position ( $number ; " "; 1 ; 1 ) )
];

Case(
// no slash, so no fraction
PatternCount($number;"/")=0;$number;

// no space, so no valid fraction
PatternCount($number;" ")=0;$numerator/$denominator;

// too many spaces, so no valid fraction
PatternCount($number;" ")>1;$number;

// - we have a fraction to parse
$integer + ($numerator/$denominator)
)
)
 
Matt   Matt, Calgary
Aug 16, 2012
Is there a way to use this with negative fractions? Say I have -2 4/8
right now it returns 2.5 when i would like it to return -2.5

Any help would be appreciated.

Thanks!
 

Log in to post comments.

 

Note: these functions are not guaranteed or supported by BrianDunning.com. Please contact the individual developer with any questions or problems.

Support this website.

This library has been a free commmunity resource for FileMaker users and developers for 15 years. It receives no funding and has no advertisements. If it has helped you out, I'd really appreciate it if you could contribute whatever you think it's worth:

Under construction. Email me your wish list for improvements.