C # Verifique se um decimal tem mais de 3 casas decimai

Tenho uma situação que não posso mudar: uma tabela do banco de dados (tabela A) aceita 6 casas decimais, enquanto uma coluna relacionada em uma tabela diferente (tabela B) possui apenas 3 casas decimai

Preciso copiar de A para B, mas se A tiver mais de três casas decimais, os dados extras serão perdidos. Não posso alterar a definição da tabela, mas posso adicionar uma solução alternativa. Então, eu estou tentando descobrir como verificar se um decimal tem mais de 3 casas decimais ou não?

por exempl

Table A
Id, Qty,  Unit(=6dp)
1,  1,     0.00025
2,  4000,  0.00025

Table B
Id, TotalQty(=3dp)

Eu quero descobrir se Qty * A unidade da Tabela A tem mais de 3 casas decimais (a linha 1 falharia, a linha 2 passaria):

if (CountDecimalPlaces(tableA.Qty * tableA.Unit) > 3)
{
    return false;
}
tableB.TotalQty = tableA.Qty * tableA.Unit;

Como eu implementaria oCountDecimalPlaces(decimal value) {} função?

questionAnswers(12)

yourAnswerToTheQuestion