ЕСЛИ Вы читаете/пишете 4-байтовое значение, И оно DWORD-выравнивается в памяти, И Вы работаете на архитектуре I32, ТО чтения и записи являются атомарными.
Похоже, вам нужна Строка настраиваемого числового формата .
В C #:
12m.ToString("0\\%"); // returns "12%"
Итак, это должно помочь:
pricePerUnitColumn.DefaultCellStyle.Format = "0\\%";
Почему бы просто не добавить значение 0,05 вместо 5? Или это не вариант?