Comments 11
Что может быть прекраснее:
declare
var1 number := 0.0000007;
var2 number := 1;
begin
dbms_output.put_line(to_char(var1 * var2));
end;
-- result: .0000007
А почему бы не работать с float?
declare @var1 float = 0.0000007,
@var2 float = 1;
select @var1 * @var2;
7E-07
declare @var1 float = 0.0000007,
@var2 float = 1;
select @var1 * @var2;
7E-07
Потому что система банковская, а деньги во float считать нельзя, ибо там появляются другие проблемы округления.
=) Вот так и знал, что вы сейчас так скажете.
Во всех виденных мною банковских системах все деньги хранились в целых числах. В виде стотысячных единиц. И никаких проблем с округлениями — что в Оракле, что в МС СКЛ :)
Sign up to leave a comment.
Трудности округления в MS SQL Server