While I found this post helpful in locating the code to change, it must be out of date. I am running X-Cart 4.1.9, and cart.php uses the intval fuction instead of floor. Also, there is code in includes/cart_process.php that call intval.
Perhaps the bigger problem is that X-Cart doesn't seemed to be designed with fractional quantities in mind. I'm implementing it for a fabric store, so this is kind of important to us

. If you look at the X-Cart database, you'll see that quantities are defined as INTEGER values. I changed the amount field in the xcart_order_details table to DECIMAL(12,3), and that
seems allow fractional quantities to work correctly, but it's still a little early in the testing to be sure. (Also, I'm not using X-Cart's inventory tracking - our POS system handles that and "manipulates" the X-Cart database somewhat directly, so my modifications have not addressed inventory levels at all. In fact, my mods will probably break it to some degree.)
This problem isn't really unique to X-Cart. We used to use OSCommerce, and I had to hack it to death to get fractional quantities to work.