Floor

From FFXI Wiki

To "floor()" something generally means that you drop the decimals after a certain point. This function seems to be applied at some stage to all expressions in FFXI. So, for instance, TP is floored. Damage calculations are floored, often in multiple (actually all) places. Generally, and with the notable exception of TP, "Flooring" in FFXI means you drop all the decimals. TP now drops all decimals with the change to 3000 TP.

FFXI actually always drops all the decimals, as it uses integer math. The math term for "flooring" is truncation or in verb for truncate. This leads to the issue of needing 26% haste in gear to get 25% haste. 25% haste is 256/1024. As it only uses integers, 10% would need to be 102.4/1024. However, in integers, it is often 102/1024 (and this can vary depending on the item from 100-102) and 5% should be 51.2 but is often 50-52. With two 10% items and 1 5% item, you could have a total of 250 or as much as 254. So in the best case you are still 2 short of 256 needed to reach 25%.

The Microsoft Excel version of this function, which follows the same formatting that people generally use with FFXI math, is formatted "floor(Number or Expression, Significance)"

Number or Expression would be the value that you want to limit to a certain number of decimal places, and Significance is that number of decimal places. Because FFXI seems to default to dropping all the decimals if you don't see a "Significance" you can assume it to be 1 (dropping all the decimals).

Examples:

  • floor(4.56, 0.1) = 4.5
  • floor(5×1.31, 0.1) = 6.5
  • floor( (176+190)*(1-30%), 1.0) = 256