using static System.Console;
using static System.Decimal;
public class Test {
public static void Main() {
WriteLine(GetDecimalPart(45.545M));
WriteLine(GetDecimalPart(45.54M));
WriteLine(GetDecimalPart(0.545M));
WriteLine(GetDecimalPart(-45.545M));
WriteLine(GetDecimalPart(45.5450M));
WriteLine(GetDecimalPart(999988776655.443322116M));
}
static int GetDecimalPart(decimal value) {
value = System.Math.Abs(value) - Floor(System.Math.Abs(value));
do {
value *= 10;
} while (value != Floor(value));
return (int)value;
}
}
//https://pt.stackoverflow.com/q/63881/101
dXNpbmcgc3RhdGljIFN5c3RlbS5Db25zb2xlOwp1c2luZyBzdGF0aWMgU3lzdGVtLkRlY2ltYWw7CgpwdWJsaWMgY2xhc3MgVGVzdCB7CglwdWJsaWMgc3RhdGljIHZvaWQgTWFpbigpIHsKCQlXcml0ZUxpbmUoR2V0RGVjaW1hbFBhcnQoNDUuNTQ1TSkpOwoJCVdyaXRlTGluZShHZXREZWNpbWFsUGFydCg0NS41NE0pKTsKCQlXcml0ZUxpbmUoR2V0RGVjaW1hbFBhcnQoMC41NDVNKSk7CgkJV3JpdGVMaW5lKEdldERlY2ltYWxQYXJ0KC00NS41NDVNKSk7CgkJV3JpdGVMaW5lKEdldERlY2ltYWxQYXJ0KDQ1LjU0NTBNKSk7CgkJV3JpdGVMaW5lKEdldERlY2ltYWxQYXJ0KDk5OTk4ODc3NjY1NS40NDMzMjIxMTZNKSk7Cgl9CgoJc3RhdGljIGludCBHZXREZWNpbWFsUGFydChkZWNpbWFsIHZhbHVlKSB7CgkgICAgdmFsdWUgPSBTeXN0ZW0uTWF0aC5BYnModmFsdWUpIC0gRmxvb3IoU3lzdGVtLk1hdGguQWJzKHZhbHVlKSk7CgkgICAgZG8gewoJICAgICAgICB2YWx1ZSAqPSAxMDsKCSAgICB9IHdoaWxlICh2YWx1ZSAhPSBGbG9vcih2YWx1ZSkpOwoJICAgIHJldHVybiAoaW50KXZhbHVlOwoJfQp9CgovL2h0dHBzOi8vcHQuc3RhY2tvdmVyZmxvdy5jb20vcS82Mzg4MS8xMDE=