Warner Bros. creative development president Greg Silverman said Affleck had been picked because he is an "extraordinary" talent, according to The Hollywood Reporter.
"We knew we needed an extraordinary actor to take on one of DC Comics' most enduringly popular superheroes, and Ben Affleck certainly fits that bill, and then some. His outstanding career is a testament to his talent, and we know he and Zack will bring new dimension to the duality of this character."
Snyder said Affleck was perfect to play an older and wiser Batman.
"Ben provides an interesting counterbalance to Henry's Superman. He has the acting chops to create a layered portrayal of a man who is older and wiser than Clark Kent and bears the scars of a seasoned crime fighter, but retain the charm that the world sees in billionaire Bruce Wayne. I can't wait to work with him."
Affleck last played a superhero in the critically panned 2003 film Daredevil.
Fan reaction to his surprise appointment as Batman has been swift, with many expressing disappointment and anger.
David Murray Lewis said he hoped the movie would never air in New Zealand, in a post on the nzherald.co.nz Facebook page.
"Remember people, Affleck is the guy who made New Zealand out to be cowards in Argo."
Rack Jandall said the hire reflects all that's wrong in the movie business.
"It's decisions like these not people downloading movies that is killing Hollywood."
Nathan Bennison said Affleck was a bad choice for Batman.
"He better start working out. And not talk in his normal voice. And look different. And act different. And just pretty much be different."
Others registered their opposition on Twitter.
Denial. Anger. Bargaining. Depression. Acceptance. These are the five stages of learning that Ben Affleck is the new Batman.
Ben Affleck is like maybe the fifth-best choice to play Batman if you're only picking from people who were in "The Town.
Wait: Ben Affleck is Batman? Jesus Christ. Boil some coffee. Reinforce the battlements. Someone get me my rifle.
Others were more positive about the move.
I'm sorry but Ben Affleck as #Batman makes sense to me. I had him in my top 3.
Bale was the last actor to play Batman, starring in Christopher Nolan's Dark Knight trilogy.
George Clooney, Val Kilmer and Michael Keaton have also played the hero.
Affleck won the best picture Oscar for Argo last year.
- nzherald.co.nz