Найти количество знаков после запятой в десятичном значении независимо от культуры

Интересно, есть ли краткий и точный способ вывести количество десятичных разрядов в десятичном значении (в виде целого числа), которое будет безопасно использовать в другой информации о культуре?

Например:

19.0 должен вернуть 1,

27.5999 должен вернуть 4,

19.12 должен вернуть 2,

и т.п.

Я написал запрос, который разбил строку на точку, чтобы найти десятичные разряды:

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

Но мне приходит в голову, что это будет работать только в регионах, которые используют «.» как десятичный разделитель и, следовательно, очень хрупкий в разных системах.

Ответы на вопрос(15)

Ваш ответ на вопрос