Apache.RU - Webboard
Вернуться
Бухгалтерия (Visor123) 09/07 - 11:10:07
Re: А как они округляются? (Marat_L) 09/07 - 12:46:02
Re: Озверели что ли??? (Alec) 09/07 - 15:08:18
Re: Озверели что ли??? (Валентин) 09/07 - 15:38:54
Re: /// (Валентин) 09/07 - 15:42:31
Re: .... (Валентин) 09/07 - 15:51:46
Re: Где можно почитать про такое округление? (Marat_L) 09/07 - 16:32:02
Re: Где можно почитать про такое округление? (Dinky) 09/07 - 23:41:42
Re: Почитать (Валентин) 10/07 - 10:58:24
Re: Ну так как господа матерые программеры? (Валентин) 10/07 - 11:03:42
Re: Ну так как господа матерые программеры? (Marat_L) 12/07 - 08:40:45
Re: -> Marat_L (Валентин) 12/07 - 10:45:49
Re: -> Marat_L (Marat_L) 12/07 - 11:06:20
Re: select round(3.555,2); выдает 3,55 ???? (Marat_L) 12/07 - 11:10:14
Re: -> Marat_L (Валентин) 12/07 - 13:16:42
Re: Спасибо, буду читать (Marat_L) 12/07 - 14:06:19
Re: В Stored function это выглядит так (Валентин) 12/07 - 15:46:14
Re: Я понял!!! (Marat_L) 12/07 - 16:09:06
Re: Ну так как господа матерые программеры? (walrus) 12/07 - 17:13:41
Re: -> walrus, Marat_L (Валентин) 13/07 - 10:31:49
Re: -> walrus, Marat_L (Marat_L) 13/07 - 12:05:51
Re: Неверное округление!!!! Откопал!!! (Marat_L) 13/07 - 15:33:33
Re: Спасибо. (Валентин) 13/07 - 16:49:56
Re: Можно, в принципе, переписать сам ROUND (Marat_L) 14/07 - 15:15:43
Re: Можно, в принципе, переписать сам ROUND (Валентин) 14/07 - 16:13:16
Re: Можно, в принципе, переписать сам ROUND (Dinky) 14/07 - 18:11:04
> Original message text:
> From:
> Visor123 - 09/07 - 11:10:07
> Subject:Бухгалтерия
> -----------------
> Кто-нибудь делал или знает где взять функцию под MySQL для округления бухгалтерских сумм, аналог round, но в бухгалтерии суммы к копейкам округляются не математически...
>
From: Валентин - 12/07 - 15:46:14
Subject:В Stored function это выглядит так
-----------------
Под 5.0.0
Функция не оптимизирована :)
CREATE FUNCTION `sf_round_ac`(`value` DOUBLE) RETURNS DOUBLE(15,3)
COMMENT 'Áóõãàëòåðñêîå îêðóãëåíèå'
BEGIN
DECLARE R DOUBLE(15,2) DEFAULT 0.00;
DECLARE S VARCHAR(15);
SET R=ROUND(Value,2);
SET S=TRUNCATE(Value*10000,0);
if (right(S,2)='50') then
/*CHET*/
IF(left(right(S,3),1) in('1','3','5','7','9')) then
SET R=Truncate(Value,2)+0.01;
END IF;
/*NECHET*/
IF(left(right(S,3),1) in('0','2','4','6','8')) then
SET R=Truncate(Value,2);
END IF;
END IF;
RETURN R;
END
[Это сообщение - спам!]
Последние сообщения из форума
16077
|
|