Owing to the influence of a lot of variations in dynamic environment, the measurement for state of charge (SOC) of battery is usually under no-loaded or lower-loaded conditions to get higher accuracy of SOC estimation. But, the loading conditions of electric vehicles are always different. There must have some mechanism to let the drivers know how much energy is remaining in the battery and how far the vehicles can go? In this paper, we combine curve fitting and Coulomb measurement method and propose a multi-segment matching method to solve the problem. First, we collected a lot of dynamic discharging data of the battery and made them as a database. Then, a lot of polynomial functions can be made from the database by using the curve fitting method. When the current loading and terminal voltage of the battery are measured for an electric vehicle in a dynamic environment, an appropriate polynomial function will be chosen to calculate the SOC of the battery. According to the experimental results, the error of SOC estimation is less than 8%, which means the results are valuable for commercial applications.