The city's top mayor, Sten Nordin, who also in charge of finances, said the Swedish Olympic Committee had done comprehensive work on the plan.
"Although the calculations are thorough, we estimate that revenues will likely be lower and costs higher than the investigation indicate," he said in a statement.
One of the biggest investments would be to boost the height of an existing skiing slope in Stockholm to meet criteria to host the slalom.
Earlier, Swedish sports minister Lena Adelsohn Liljeroth had expressed doubts about the bid.
There was no immediate statement from the Swedish Olympic Committee.
Stockholm, which hosted the Summer Games in 1912, had been bidding to become the first city to hold both the Summer and Winter Olympics.
Friday's decision left five cities in contention: Almaty, Kazakhstan; Beijing; Krakow, Poland; Lviv, Ukraine; and Oslo, Norway.
Stockholm's bid had already been considered a longshot because it proposed to host most of the Alpine events in the northern Swedish resort of Are, more than 600 kilometers (400 miles) away from the capital.
Stockholm and the other cities submitted their preliminary bids to the International Olympic Committee in November. The IOC will select the host city in 2015.
Stockholm claimed in November it would spend only $1.5 billion for the games, a figure that seemed extremely low. Even then, the city and national governments had expressed some doubts about Stockholm's bid plans.
The Swedish city is the latest big name to reject an Olympic bid.
Rome dropped its bid for the 2020 Summer Games after the Italian government refused to provide financial backing. Last year, voters in Munich, Germany, and St. Moritz, Switzerland, rejected proposed bids for the 2022 Winter Games, citing financial and environmental concerns.
Olympic officials have expressed concern over the costs of next month's Winter Games in Sochi, Russia, where the overall price tag is $51 billion a record for any summer or winter Olympics.
Stockholm's decision comes less than two months before the March 14 deadline for the 2022 contenders to submit their detailed bid files to the IOC. The IOC executive board will decide which cities go through to the final round in a meeting on July 8-9.
The IOC will select the winner by secret ballot on July 31, 2015, in Kuala Lumpur, Malaysia.