BclDecimal.cs 443 B

1234567891011121314
  1. namespace Google.ProtocolBuffers.Bcl {
  2. public partial class Decimal {
  3. public decimal ToDecimal() {
  4. if (Lo == 0 && Hi == 0) return decimal.Zero;
  5. int lo = (int)(Lo & 0xFFFFFFFFL),
  6. mid = (int)((Lo >> 32) & 0xFFFFFFFFL),
  7. hi = (int)Hi;
  8. bool isNeg = (SignScale & 0x0001) == 0x0001;
  9. byte scale = (byte)((SignScale & 0x01FE) >> 1);
  10. return new decimal(lo, mid, hi, isNeg, scale);
  11. }
  12. }
  13. }