Цитата:
|
let text = "..." // Текст содержащий много строк
let lines = text.split('\n') // Массив каждый элемент - отдельная строка
|
Распарсить получилось, но вот преобразовать опять не выходит. Я думала, что получив отдельное число я смогу преобразовать экспоненциальную запись, а вместо этого когда я делаю преобразование, то выводятся изначальные данные из документа.
Содержание документа Object.txt
Цитата:
|
2.12151364375213E+0001
-4.65241027215574E-0001
1.24533965323114E+0001
2.21470432354003E+0001
-1.35650478231506E+0001
5.17833965543514E+0001
2.52214176162443E+0001
-1.15183292003216E+0001
3.76599590303214E+0001
2.57543176121343E+0001
-1.12383293127446E+0001
|
Вот пример:
//Функция для преобразования
function toFixed(x) {
if (Math.abs(x) < 1.0) {
var e = parseInt(x.toString().split('e-')[1]);
if (e) {
x *= Math.pow(10,e-1);
x = '0.' + (new Array(e)).join('0') + x.toString().substring(2);
}
} else {
var e = parseInt(x.toString().split('+')[1]);
if (e > 20) {
e -= 20;
x /= Math.pow(10,e);
x += (new Array(e+1)).join('0');
}
}
return x;
}
function LoadFromFile(FileName){
var req = new XMLHttpRequest();
var data = "1";
req.open("GET", FileName);
req.onreadystatechange = function() {
if(req.readyState===4){
if(req.status===200){
let text = req.responseText // Текст содержащий много строк
let lines = text.split('\n') // Массив каждый элемент - отдельная строка
let num;
for(var i = 0; i < lines.length; i++)
{
num = toFixed(lines[i]);
console.log(num);
}
}
}
}
try
{
req.send(null);
}
catch (e)
{
alert(e.message);
}
}
Функция toFixed работает, если взять любое число из документа и добавить в toFixed, то выведится число со сдвигом запятой. Например, если прописать вот так.
num = toFixed(2.12151364375213E+0001);
console.log(num);
Мы получим: 21.2151364375213
Если через цикл ничего не происходит.
for(var i = 0; i < lines.length; i++)
{
num = toFixed(lines[i]);
console.log(num);
}
Возвращается, то же самое что и в документе.
Цитата:
|
2.12151364375213E+0001
-4.65241027215574E-0001
1.24533965323114E+0001
2.21470432354003E+0001
-1.35650478231506E+0001
5.17833965543514E+0001
2.52214176162443E+0001
-1.15183292003216E+0001
3.76599590303214E+0001
2.57543176121343E+0001
-1.12383293127446E+0001
|