• Jeff Moden (8/29/2016)


    Normally, though, I like the code to be at least as resolute as Granny's dollar store 4 function calculator and will use a scale of at least 15.

    Here are 28 digits.

    Must be more than on Granny's calculator:

    DECLARE @Amount MONEY, @Term INT

    DECLARE @fRate float, @dRate decimal (38,28)

    DECLARE @i INT, @fOutput FLOAT, @dOutput DECIMAL (38,28)

    SELECT @Amount = 1000000, @Term = 12*17

    SELECT@fRate = CONVERT(FLOAT, @Amount)/@Term,

    @dRate = CONVERT(DECIMAL(38,28), @Amount)/@Term

    SELECT@fOutput = @fRate * @Term,

    @dOutput = @dRate * @Term

    SET @I = 5

    WHILE @i > 0

    BEGIN

    SET @fOutput = @fOutput / @fRate /@Term * @fRate * @Term

    SET @dOutput = @dOutput / @dRate /@Term * @dRate * @Term

    SET @I = @I - 1

    END

    SELECT@fOutput [@fOutput] , SQL_VARIANT_PROPERTY(@fOutput, 'MaxLength'), @dOutput [@dOutput], SQL_VARIANT_PROPERTY(@dOutput, 'MaxLength')

    Good list of prime numbers. 😀

    I must have tried to make FLOAT to show any weakness.

    Did not happen.

    In the last example I made the list shorter, to make the case more "real-life".

    Did not help much.

    DECIMAL is still proven to be too imprecise.

    _____________
    Code for TallyGenerator