Новости | Документация | Download | Webboard | FAQ | Поиск | Контакты

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



[Это сообщение - спам!]

Последние сообщения из форума

 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
16077




  Copyright Apache.ru © 1999-2017, All Rights Reserved Разработка сайта: Inside.ru  
  РЕКЛАМА НА САЙТЕ: |