Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   toFixed не работает с массиовм (https://javascript.ru/forum/misc/75955-tofixed-ne-rabotaet-s-massiovm.html)

Retro_1477 20.11.2018 08:42

toFixed не работает с массиовм
 
Привет всем! Почему не работает данный код? Он принимает значение инпут и заносит их в массив, после чего он должен округлить каждое число в массиве до десятой (1.26 = 1.3)

<div><b>Вектор начальных приближений <div class="warning">(указывать через пробел)</div>:</b><br>
        <input id="vector" type="text" size="12"></div>

<input id="button" type="submit" value="Решить">

<script
  src="http://code.jquery.com/jquery-3.3.1.js"
  integrity="sha256-2Kok7MbOyxpgUVvAk/HJ2jigOSYS2auK4Pfzbm7uH60="
  crossorigin="anonymous"></script>

<script>
var 
    n = 3           //кол-во неизвестных
    vector,        //вектор начальных приближений
    vector_final=[], // вектор со всеми значениями

function solution(){

    n = document.getElementById('n').value;

    vector = document.getElementById('vector').value;
    vector_final = vector.split([' ']);
   for(var i=0; i<n; i++){
        vector_final[i] = vector_final[i].toFixed(3);
        alert(vector_final[i]);
    };
}

$('#button').click(function(){
    solution();
});
</script>

Artur_Hopf 20.11.2018 08:48

toFixed(3) это три знака после запятой.

рони 20.11.2018 09:02

Цитата:

Сообщение от Retro_1477
n = document.getElementById('n').value;

это что?

рони 20.11.2018 09:13

Retro_1477,
строки с ошибками 15, 19, 22, 24.

Nexus 20.11.2018 09:43

Цитата:

Сообщение от рони
строки с ошибками 15, 19, 22, 24.

в 13-й также запятой не хватает.

рони 20.11.2018 09:50

Nexus,
:thanks: :lol:

Retro_1477 20.11.2018 10:06

n тоже задаётся через input, я просто сюда перенёс чтобы кода меньше было. Просто скажите как правильно строку превратить в массив и округлить каждое число до десятых

laimas 20.11.2018 10:34

Цитата:

Сообщение от Retro_1477
как правильно строку превратить в массив и округлить каждое число до десятых

string.split(' ').map(function(v) { return parseInt(v).toFixed(1)})

j0hnik 20.11.2018 10:36

str.split(' ').map(el=> (+el).toFixed(1))

j0hnik 20.11.2018 10:39

laimas,
в number преобразовать с начало нужно, потом toFixed


Часовой пояс GMT +3, время: 23:02.