|   |   | 
| 
 | СКД. Целочисленное деление. Реально? | ☑ | ||
|---|---|---|---|---|
| 0
    
        ilpar 03.09.12✎ 12:21 | 
        интересует момент, для отчета.
  Нужно: 10/3 = 3 | |||
| 1
    
        Heckfy 03.09.12✎ 12:22 | 
        Цел(<Число>) Не оно?     | |||
| 2
    
        ilpar 03.09.12✎ 12:23 | 
        в запросе не катит на СКД     | |||
| 3
    
        MaxisUssr 03.09.12✎ 12:23 | 
        (0)
  Используй вычисляемые поля в СКД | |||
| 4
    
        KAO111 03.09.12✎ 12:25 | 
        В запросе 
  выразить(10/3 как число(5,0)) | |||
| 5
    
        KAO111 03.09.12✎ 12:25 | 
        для отчета лучше формат     | |||
| 6
    
        Axel2009 03.09.12✎ 12:28 | 
        (4) выразить(10/3-0.5 как число(5,0))     | |||
| 7
    
        Axel2009 03.09.12✎ 12:29 | 
        выразить((10-0.5)/3 как число(5,0))     | |||
| 8
    
        ilpar 03.09.12✎ 12:37 | 
        Не катит 
  Выбрать выразить(11/3 как число(5,0)) = 4 | |||
| 9
    
        ilpar 03.09.12✎ 12:37 | 
        а должно быть Выбрать выразить(11/3 как число(5,0)) = 3     | |||
| 10
    
        Ахиллес 03.09.12✎ 12:41 | 
        (11-(11%3))/3 Так?     | |||
| 11
    
        Cube 03.09.12✎ 12:41 | 
        (8) Тебе же сказали, Выбрать выразить((11/3)-0.5 как число(5,0)) = 4     | |||
| 12
    
        Cube 03.09.12✎ 12:42 | 
        +(11) т.е. = 3))     | |||
| 13
    
        ilpar 03.09.12✎ 12:43 | 
        спасибо, не понял сразу :)     | |||
| 14
    
        ilpar 03.09.12✎ 12:46 | 
        Выбрать выразить(0-0.5 как число(5,0))     | |||
| 15
    
        ilpar 03.09.12✎ 12:46 | 
        но это уже детали :)     | |||
| 16
    
        ilpar 03.09.12✎ 12:46 | 
        Выбрать выразить(0-0.5 как число(5,0)) = -1     | |||
| 17
    
        Zmich 03.09.12✎ 12:48 | 
        (16). Всё верно, так и должно быть. Целая часть от (-0.5) - это (-1).     | |||
| 18
    
        Cube 03.09.12✎ 12:48 | 
        (16) Выбор Когда ... Тогда ... Иначе ... Конец     | |||
| 19
    
        mozzga 03.09.12✎ 12:49 | 
        просто в оформлении поля формат, число 0 знаков после запятой, если только считать ничего больше не надо     | |||
| 20
    
        Reset 03.09.12✎ 12:51 | 
        (16) 
  выразить((&Делимое/&Делитель)-(выбор когда &Делимое>0 тогда 0.5 когда &Делимое=0 тогда 0 иначе -0.5 конец) как число(5,0)) | |||
| 21
    
        Reset 03.09.12✎ 12:51 | 
        (20) бррр     | |||
| 22
    
        Zmich 03.09.12✎ 12:52 | 
        (20). Неправильно, если и Делимое, и Делитель < 0     | |||
| 23
    
        Reset 03.09.12✎ 12:53 | 
        (22) Согласен
  выразить((&Делимое/&Делитель)-(выбор когда &Делимое*&Делитель>0 тогда 0.5 когда &Делимое*&Делитель=0 тогда 0 иначе -0.5 конец) как число(5,0)) | |||
| 24
    
        Reset 03.09.12✎ 12:56 | 
        или без умножения
  выразить((&Делимое/&Делитель)-(выбор когда &Делимое>0 И &Делитель>0 ИЛИ &Делимое<0 И &Делитель<0 тогда 0.5 когда &Делимое=0 тогда 0 иначе -0.5 конец) как число(5,0)) жесть имхо | |||
| 25
    
        Ахиллес 03.09.12✎ 13:01 | 
        чем (10) не устраивает?     | |||
| 26
    
        Eugene555 03.09.12✎ 13:14 | 
        выбор когда выразить(м как число(10,0)) >м тогда  выразить(м как число(10,0))-1 иначе м конец     | |||
| 27
    
        Eugene555 03.09.12✎ 13:15 | 
        точнее так: выбор когда выразить(м как число(10,0)) >м тогда  выразить(м как число(10,0))-1 иначе выразить(м как число(10,0)) конец     | |||
| 28
    
        Axel2009 03.09.12✎ 13:56 | 
        тогда уж так
  выразить((10+0.5)/3 как число(5,0))-1 | |||
| 29
    
        vmv 03.09.12✎ 14:01 | 
        решиния 2
  1. в запросе(выражении СКД) Выразиить(...тра ля ля), как было указано 2. в выражении СКД использовать нечто МойОбщийМодуль.Форматирование(Значение, ФорматнаяСтрока, СтруктураПрочихПараметров) думаю мысль ясна, остальные варианты от лукавого или просто вода. | |||
| 30
    
        НЕА123 03.09.12✎ 14:12 | 
        РАЗНОСТЬДАТ(ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0), ДОБАВИТЬКДАТЕ(ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0), СЕКУНДА, &Делимое / &Делитель), СЕКУНДА)     | |||
| 31
    
        Reset 03.09.12✎ 14:20 | 
        (30) На отрицательных числах не будет работать :(
  Частично можно наладить, проставив 1999 год. тогда будет работать для диапазона -1999*секундВГоде ... + 1999*секундВГоде | |||
| 32
    
        Staffa 03.09.12✎ 14:51 | 
        а не проще сделать функцию в общем модуле, которая обычными средствами языка будет делать деление и возвращать результат в СКД?     | |||
| 33
    
        Axel2009 03.09.12✎ 14:53 | 
        (32) проще то оно проще, но по времени накладнее на порядочек минимум     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |