Так почему никто не предложил следующее?
(2500).toLocaleString("en-GB", {style: "currency", currency: "GBP", minimumFractionDigits: 2})
Работает для большинства / некоторых браузеров:
setNeedsLayout фактически вызывает layoutIfNeeded, поэтому, если вы вызываете setNeedsDisplay, нет причин для вызова layoutIfNeeded. Таким образом, setNeedsLayout является удобным методом для вызова layoutIfNeeded, который выполняет тяжелую работу.