Возможно ли получить "точное" значение? - страница 5

 
WePlexus:
Да, а в калькуляторе пишет 0.09*5=0.45. :)

нормализовать просто надо:

//double d=0.019999999999999999;
double d=NormalizeDouble(0.09*5,2);
double e=(int)(d*100)/100.0;
Print("e=",e);
 
abolk:

ну, санёк, ты и обманщик.

моя функция:

выдаёт =0.44
я твою не проверял )
 
abolk:

нормализовать просто надо:

тоже вариант ))

и чё получается с числом? )))

0.01999999999999999999
 
sanyooooook:

тоже вариант ))

и чё получается с числом? )))

вот максимальное число, с которым нормализация проходит:

double d=NormalizeDouble(0.01999999,18);
double e=(int)(d*100)/100.0;
Print("e=",e);

ели взять на одну 9-ку больше, то уже нормализуется до 0.02

 
abolk:

вот максимальное число, с которым нормализация проходит:

ели взять на одну 9-ку больше, то уже нормализуется до 0.02
ты число-то не обрезай ))
 
sanyooooook:
ты число-то не обрезай ))
так по-боку -- формат точности в NormalizeDouble() -- 0-8 
 
abolk:
так по-боку -- формат точности в NormalizeDouble() -- 0-8 
вот так значит, уже по боку))
 
sanyooooook:
вот так значит, уже по боку))

мы же уже стали копаться "в сути проблемы" -- потому и "уже"

сначала декомпозиция проблемы -- потом её композиция

или остались невыясненные моменты? 

 
abolk:

мы же уже стали копаться "в сути проблемы" -- потому и "уже"

сначала декомпозиция проблемы -- потом её композиция

или остались невыясненные моменты? 

да )

как при помощи одной и той же функции(допустим той которую ты написал) обрезать любое поданное на вход число, до нужного количества знаков:

хоть это:

0.01999999999999999999

хоть это:

0.09*5
 
sanyooooook:

да )

как при помощи одной и той же функции обрезать любое поданное на вход число до нужного количества знаков:

хоть это:

хоть это:

чтобы решить эту задачу -- надо чтобы 0.09*5 было =0.45, а не =0.449999999999999

а коль скоро, такого нет -- то задача изначально нерешаемая