Instead of "%f". vkd3d_string_buffer_print_f32() will use sufficient precision to represent the stored value exactly, and will use '.' as decimal separator regardless of the current locale.