 # ConvertFractToNum ( number )

Converts a fraction to a real number.     Average rating: 4.5 (31 votes) Log in to vote Colin Keefe IT Solutions Consulting, Inc http://itsolutions-inc.com
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. Sam Barnum, 360WorksNov 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, CalgaryAug 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!