Найти количество знаков после запятой в десятичном значении независимо от культуры
Интересно, есть ли краткий и точный способ вывести количество десятичных разрядов в десятичном значении (в виде целого числа), которое будет безопасно использовать в другой информации о культуре?
Например:
19.0 должен вернуть 1,
27.5999 должен вернуть 4,
19.12 должен вернуть 2,
и т.п.
Я написал запрос, который разбил строку на точку, чтобы найти десятичные разряды:
int priceDecimalPlaces = price.ToString().Split('.').Count() > 1
? price.ToString().Split('.').ToList().ElementAt(1).Length
: 0;
Но мне приходит в голову, что это будет работать только в регионах, которые используют «.» как десятичный разделитель и, следовательно, очень хрупкий в разных системах.