If a miner has the new protocol, but only gets transactions with the old precision (either no one wanted the higher precision or they are using older clients), then the miner could mine the block & it would work with both protocols. If the miner with the new protocol, gets at least one transaction with the higher precision, then the acceptance of that block will be based on the hashrate of the new protocol. If the old protocol has the higher hashrate, then the block will be ignored, and the old protocol will continue to have the longer blockchain. If the new protocol has the higher hashrate, then the block will be accepted by the new protocol (ignored by the old), making the new protocol's blockchain the longest. At this point in time, the chain will fork into those using the old protocol & those using the new. The old protocol and the new protocol can coexist as different blockchains if the new protocol's blockchain is longer. If the old protocol's blockchain is longer, the new protocol will always try to add a block to the old protocol's blockchain.
Using this method of working with either protocol allows the miners to not risk losing all of their potential block rewards/transaction fees. Because until the hashrate is higher for the new protocol, they will lose all of their reward/fees. This also allows all the miners to setup ahead of time without bringing down the whole network. A miner could make this change today & no one will notice until someone tries to submit a transaction with a higher precision & it gets accepted into one of the miner's blocks. Of course if they are the only miner to update to the new protocol, the block will be rejected by everyone else & they will lose that reward/fee money. It'd probably be best for the larger miners to get together and coordinate a day to start accepting the new protocol if they want to minimize amount of reward/fees lost.