With the widespread development of location-based services, the demand for accurate indoor positioning is getting more and more urgent. Floor positioning, as a prerequisite for indoor positioning in multi-story buildings, is particularly important. Though lots of work has been done on floor positioning, the existing studies on floor positioning in complex multi-story buildings with large hollow areas through multiple floors still cannot meet the application requirements because of low accuracy and robustness. To obtain accurate and robust floor estimation in complex multi-story buildings, we propose a novel floor positioning method, which combines the Wi-Fi based floor positioning (BWFP), the barometric pressure-based floor positioning (BPFP) with HMM and the XGBoost based user motion detection. Extensive experiments show that using our proposed method can achieve 99.2% accuracy, which outperforms other state-of-the-art floor estimation methods.