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