C # ¿Verifica si un decimal tiene más de 3 decimales?

Tengo una situación que no puedo cambiar: una tabla de base de datos (tabla A) acepta 6 decimales, mientras que una columna relacionada en una tabla diferente (tabla B) solo tiene 3 decimales.

Necesito copiar de A a B, pero si A tiene más de 3 decimales, se perderán los datos adicionales. No puedo cambiar la definición de la tabla, pero puedo agregar una solución alternativa. Entonces, ¿estoy tratando de averiguar cómo verificar si un decimal tiene más de 3 decimales o no?

p.e

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

Table B
Id, TotalQty(=3dp)

Quiero poder averiguar si Cantidad * Unidad de la Tabla A tiene más de 3 decimales (la fila 1 fallaría, la fila 2 pasaría):

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

¿Cómo implementaría laCountDecimalPlaces(decimal value) {} función?

Respuestas a la pregunta(12)

Su respuesta a la pregunta