The BTC has seemed to rapidly increase in value recently and I'm trying to buy some soon but I'm worried that if I buy them at say $295 and the price drops to $250, I will have lost $45 worth of goods I could have otherwised purchased. My main question is that do vendors set the price of their goods in real money terms ie. 1 gram = $25 and let their listed BTC price fluctuate as the exchange rate does or do they set the price in terms of BTC and if the price rises then their goods cost more and vice versa? I apologise if that got a little wordy or confusing but I'm happy to try to rephrase it if needed.
Most, if not all, vendors peg the prices is some fiat currency (USD, Euro, etc - depending on vendor location probably) and the BTC price will change as the exchange rate changes. As a buyer, the main risk is that BTC devalues between the time you buy the BTC and the time you are able to make the purchase. This is why its recommended that you transfer a bit of a buffer to account for these fluctuations. As a vendor, the risk is the devaluing of BTC while the coin sits in escrow.
In short, vendors set the price in their local currency and the price quoted in BTC will fluctuate with BTC exchange rate. So an increase in value of BTC is actually in your favor as your purchasing power has increased (assuming you purchased or already have the BTC). Devaluations are a headache and that's why you'll see people begging on here once in a while for .00001BTC - although that's not allowed and we try to delete.