Wal-Mart Stores and Carrefour have apologised after being fined for using faulty price tags and overstating discount claims in China.