City will pay a net fee of €28 million with Cancelo's move valued at €65 million and Danilo costing €37 million.
"City are a fantastic club, with a brilliant manager and I am delighted to be here,” said Cancelo, who signed a six-year contract.
"Everything about them has impressed me, from the facilities, to their style of play. I am always looking to develop my game and win trophies and I believe I can do that here, so now I'm really looking forward to the new season and testing myself in the Premier League".
Cancelo won one Serie A title with Juventus after a €40 million move from Valencia last year.
"Joao is a fine player and an excellent attacking full-back who will provide us with a real threat on the right-hand side," said City director of football Txiki Begiristain.