Encuentra el número de lugares decimales en valor decimal independientemente de la cultura

Me pregunto si hay una forma concisa y precisa de extraer la cantidad de lugares decimales en un valor decimal (como un int) que sea seguro usar en la información de diferentes culturas.

Por ejemplo:
19.0 debe devolver 1,
27.5999 debe devolver 4,
19.12 debe devolver 2,
etc.

Escribí una consulta que dividió una cadena en un período para encontrar decimales:

int priceDecimalPlaces = price.ToString().Split('.').Count() > 1 
                  ? price.ToString().Split('.').ToList().ElementAt(1).Length 
                  : 0;

Pero se me ocurre que esto solo funcionará en regiones que usan el '.' como separador decimal y por lo tanto es muy frágil en diferentes sistemas.

Respuestas a la pregunta(15)

Su respuesta a la pregunta