Robert Yokota created AVRO-4161:
-----------------------------------

             Summary: C# decimal conversions are not correct
                 Key: AVRO-4161
                 URL: https://issues.apache.org/jira/browse/AVRO-4161
             Project: Apache Avro
          Issue Type: Bug
          Components: csharp
    Affects Versions: 1.12.0
            Reporter: Robert Yokota
            Assignee: Robert Yokota


The conversion from the C# System.Decimal to an Avro logical type decimal is 
not correct.  The first 12 bytes of the System.Decimal represent a positive 
unscaled value.  This value is passed into a BigInteger constructor.  However, 
the documentation of the [BigInteger constructor| 
https://learn.microsoft.com/en-us/dotnet/api/system.numerics.biginteger.-ctor?view=net-9.0#system-numerics-biginteger-ctor(system-byte())]
 states that the most significant bit of the last byte represents the sign of 
the BigInteger.  The docs also explain that a 0 byte can be appended to the 
byte array passed to the BigInteger constructor to ensure the value is treated 
as positive.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to