Brian Dunning's FileMaker Custom Functions

InchFraction ( Number )

Returns a carpenter's fraction approximating a number between 0 and 1

  Average rating: 4.8 (32 votes) Log in to vote

L. Allen Poole   L. Allen Poole
Creative Database Solutions NW
http://cdsnw.com

Share on Facebook Share on Twitter

  Sample input:
InchFraction ( 0.377 )
  Sample output:
3/8

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

Returns a fraction based on denominators between 1 and 32 approximating a decimal fraction between 0 and 1.

0.51 and 0.49 become "1/2"

0.124 and 0.126 become "1/8"

0.819 becomes "13/16"

 

Comments

HazMatt   HazMatt, Blaine, MN
Nov 26, 2015
There's an ampersand missing on the "8th" line. I've taken the liberty to add it and reformat for better legibility:

Case(
Round(Number * 32; 0) = 32; // Fraction is closer to 1 than 31/32
" +1";

Mod(Round(Number * 32; 0); 2); // Some odd number of 32nds
Round(Number * 32; 0) & "/32";

Mod(Round(Number * 16; 0); 2); // Some odd number of 16ths
Round(Number * 16; 0) & "/16";

Mod(Round(Number * 8; 0); 2); // Some odd number of 8ths
Round(Number * 8; 0) & "/8";

Mod(Round(Number * 4; 0); 2); // Some odd number of 4ths
Round(Number * 4; 0) & "/4";

Mod(Round(Number * 2; 0); 2); // 1/2
Round(Number * 2; 0) & "/2";

"" // Fraction is closer to 0 than 1/32
)
 

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.

Under construction. Email me your wish list for improvements.