Encontre o número de casas decimais no valor decimal, independentemente da cultura

Eu estou querendo saber se existe uma maneira concisa e precisa para retirar o número de casas decimais em um valor decimal (como um int) que será seguro para usar em diferentes informações de cultura?

Por exemplo:
19.0 deve retornar 1,
27.5999 deve retornar 4,
19.12 deve retornar 2,
etc.

Eu escrevi uma consulta que fez uma string dividida em um período para encontrar casas decimais:

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

Mas me ocorre que isso só funcionará em regiões que usam o '.' como um separador decimal e, portanto, é muito frágil em diferentes sistemas.

questionAnswers(15)

yourAnswerToTheQuestion