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?