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 - Show more from this author
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
)
 
L. Allen Poole   L. Allen Poole, Creative Database Solutions NW
Nov 1, 2022
Thanks HaxMatt!
 

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 20 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: