public void test() { var d = sizeof(decimal); var i = sizeof(int); var l = sizeof(long); var f = sizeof(float); var dd = sizeof(double); var by = sizeof(byte); var c = sizeof(char); var ss = "zzc199231f06e2091f89e0128e7d875fdfb0fb5fc7c4f916af0c50d04ab70e7z"; var cc = ss.Length * c; var bb = ss.HexToBytes(); Fixed8 expected = Fixed8.FromDecimal(123456789m); Fixed8 expected1 = Fixed8.FromDecimal(1.23456789m); Fixed8 fixedMulti = expected * expected1; decimal decimalMulti = 123456789m * 1.23456789m; BigDecimal bd = new BigDecimal(123456789, 1); bd.ChangeDecimals(8); BigDecimal bd1 = new BigDecimal(123456789999, 10); bd1.ChangeDecimals(8); }
public void TestChangeDecimals() { BigDecimal originalValue = new BigDecimal(new BigInteger(12300), 5); BigDecimal result1 = originalValue.ChangeDecimals(7); result1.Value.Should().Be(new BigInteger(1230000)); result1.Decimals.Should().Be(7); BigDecimal result2 = originalValue.ChangeDecimals(3); result2.Value.Should().Be(new BigInteger(123)); result2.Decimals.Should().Be(3); BigDecimal result3 = originalValue.ChangeDecimals(5); result3.Value.Should().Be(originalValue.Value); Action action = () => originalValue.ChangeDecimals(2); action.ShouldThrow <ArgumentOutOfRangeException>(); }
public void ChangeDecimals_Lower() { // Arrange var value = new BigDecimal(150000, 5); // Act var newvalue = value.ChangeDecimals(3); // Assert newvalue.Value.Should().Be(1500); newvalue.Decimals.Should().Be(3); }
public void ChangeDecimals_Equal() { // Arrange var value = new BigDecimal(-5300, 3); // Act var newvalue = value.ChangeDecimals(3); // Assert newvalue.Value.Should().Be(value.Value); newvalue.Decimals.Should().Be(value.Decimals); newvalue.Decimals.Should().Be(value.Decimals); newvalue.Sign.Should().Be(value.Sign); }