Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Почему for i+=1,5 прибавляет по +1? <input onClick="for(i=0;i<100;i+=1,5){this.value+=i}"> / 8 сообщений из 8, страница 1 из 1
08.10.2014, 12:51
    #38770293
xcislav
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему for i+=1,5 прибавляет по +1? <input onClick="for(i=0;i<100;i+=1,5){this.value+=i}">
Нужна десятичная последовательность. Несколькочасовой гугл языка JS ничего не дал. Окончательно запутался, когда искал преобразование типов (JS же без типов!).

В цикле for внутри скобок ;i+=1,5 может быть как-то i.toFloat()+=1,5. но в первом цикле for ..у начала левой скобки
(i=0;
на
(var i.toFloat()=0; - чувствуется, вобщем что я как-то не туда думаю.

ОКОНЧАТЕЛЬНЫЙ РЕЗУЛЬТАТ:
автор1,5 3 4,5 6 7,5 9 10,5 12 ... ну, и так далее (до ста).


Вобщем, товарищи, HELP
(или, как говорится, quick help).
...
Рейтинг: 0 / 0
08.10.2014, 12:58
    #38770310
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему for i+=1,5 прибавляет по +1? <input onClick="for(i=0;i<100;i+=1,5){this.value+=i}">
xcislav, потому как разделитель точка, а не запятая.
Код: javascript
1.
for (i = 0; i < 100; i += 1.5)
...
Рейтинг: 0 / 0
08.10.2014, 13:02
    #38770319
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему for i+=1,5 прибавляет по +1? <input onClick="for(i=0;i<100;i+=1,5){this.value+=i}">
...
Рейтинг: 0 / 0
08.10.2014, 13:24
    #38770359
xcislav
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему for i+=1,5 прибавляет по +1? <input onClick="for(i=0;i<100;i+=1,5){this.value+=i}">
skyANA,

вау, great!

Вобщем мне надо было правду писать (я какой-то скрытный ..боюсь удара что я ламер). actual number is 1,47

<input size=333 onblur="for(i=0;i<100;i+=1.47){this.value+=i+' '}">

0 1.47 2.94 4.41 5.88 7.35 8.82 10.290000000000001 11.760000000000002 13.230000000000002 14.700000000000003 16.17 17.64 19.11 20.58 22.049999999999997 23.519999999999996 24.989999999999995 26.459999999999994 27.929999999999993

Вобщем, у меня такая вот абнормалистика. Или по-вашему варианту

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
<!DOCTYPE HTML>
<html>  
<head></head>  
<body>
  <script>
    for (var i = 0, j = 0; i < 100; i += 1, 5, j += 1.47) {
      document.write(i + '&nbsp;&nbsp;&nbsp;' + j + '<br/>');
    }
  </script>
</body>
</html>



0 0
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
1   1.47
2   2.94
3   4.41
4   5.88
5   7.35
6   8.82
7   10.290000000000001
8   11.760000000000002
9   13.230000000000002
10   14.700000000000003
11   16.17
12   17.64
13   19.11
14   20.58
15   22.049999999999997
16   23.519999999999996
17   24.989999999999995
18   26.459999999999994
19   27.929999999999993
20   29.39999999999999
21   30.86999999999999
22   32.33999999999999
23   33.80999999999999
24   35.27999999999999
25   36.749999999999986
26   38.219999999999985
27   39.68999999999998
28   41.15999999999998
29   42.62999999999998
30   44.09999999999998



И непонятно, куда его тянет ..куда плющит
...
Рейтинг: 0 / 0
08.10.2014, 13:32
    #38770370
carrotik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему for i+=1,5 прибавляет по +1? <input onClick="for(i=0;i<100;i+=1,5){this.value+=i}">
...
Рейтинг: 0 / 0
08.10.2014, 13:46
    #38770396
xcislav
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему for i+=1,5 прибавляет по +1? <input onClick="for(i=0;i<100;i+=1,5){this.value+=i}">
carrotik,

Код: javascript
1.
<input size=333 onblur="for(i=0;i<100;i.toFixed(2)+=1.47){this.value+=i+'   '}">


ReferenceError: invalid assignment left-hand side :1

Код: javascript
1.
<input size=333 onblur="for(i=0;i<100;i+=1.47){this.value.toFixed(2)+=i+'   '}">


TypeError: this.value.toFixed is not a function
Код: javascript
1.
<input size=333 onblur="for(i=0;i<100;i+=1.47){this.value+=i.toFixed(2)+'   '}">


0.00 1.47 2.94 4.41 5.88 7.35 8.82 10.29 11.76 13.23 14.70 16.17 17.64 19.11 20.58 22.05 23.52


Вобщем немного неуютно, сижу с калькулятором перепроверяю... каждый раз по циклу справа наступают по одному далёкие дроби, а toFixed(2) c ними справляется. Но под наблюдением оператора до 100 досчитали быстрей чем отруки!

Всем спасибо, проблема решена.. но неуютно из-за какой-то неуверенности.
...
Рейтинг: 0 / 0
08.10.2014, 14:14
    #38770437
-k2-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему for i+=1,5 прибавляет по +1? <input onClick="for(i=0;i<100;i+=1,5){this.value+=i}">
xcislav,

это особенности вещественных чисел в javascript попробуйте например console.log(0.3-0.2)
почитать можно здесь http://javascript.ru/basic/types
...
Рейтинг: 0 / 0
08.10.2014, 14:21
    #38770447
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему for i+=1,5 прибавляет по +1? <input onClick="for(i=0;i<100;i+=1,5){this.value+=i}">
xcislavВсем спасибо, проблема решена.. но неуютно из-за какой-то неуверенности.Дак изучите основы языка , почитайте учебник . Пройдите курсы .
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Почему for i+=1,5 прибавляет по +1? <input onClick="for(i=0;i<100;i+=1,5){this.value+=i}"> / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]