vladfaust
offline
Опыт:
12,814Активность: |
Функция не работает
» код
local real acc = 0. if sp_throws[1] != 0 { acc = sp_succes[1]/sp_throws[1] } BJDebugMsg("acc = "+R2S(acc)) Когда sp_throws[1] хотя бы на 1. больше sp_succes, возвращает 0. втф? [+] 1 пункт от Rewenger: Недопустимое название темы.
Отредактировано Rewenger, 06.11.2011 в 15:36. |
06.11.2011, 13:21 | #1
+0/−2
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Hanabishi
COOL STATUS
offline
Опыт: отключен
|
inadequate_, это логично, при делении меньшего на большее получается число меньше единицы. Почему 0 непонятно, должна получиться дробь 0.xxx Отредактировано Hanabishi, 06.11.2011 в 14:36. |
06.11.2011, 14:03 | #2
+0/−2
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
alexprey
познающий Unity
offline
Опыт:
68,501Активность: |
inadequate_, а sp_throws и sp_throws какой тип данных
|
06.11.2011, 14:43 | #3
+0/−2
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Doc
offline
Опыт:
63,163Активность: |
потому-что нужно всегда ставить . после чисел.
1 / 3 = 0 а 1. / 3. = 0.34 |
06.11.2011, 14:55 | #4
+2/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
alexprey
познающий Unity
offline
Опыт:
68,501Активность: |
inadequate_, короче проблема вот в чем, а то меня Emtec замучает
Если у тебя переменные sp_succes и sp_throws типа int, то все логично. При делении int на int получается целочисленное деление. Например 5 \ 2 = 2, но 5.0 \ 2 = 2.5. Замени тип переменные на real и радуйся жизни. |
06.11.2011, 15:30 | #5
+0/−1
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
vladfaust
offline
Опыт:
12,814Активность: |
[close] |
07.11.2011, 14:22 | #6
+0/−1
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|