CSV php, используя переменную браузера, сохраненную как число, cron как строку

Если вы обеспокоены накладными расходами на создание нового объекта Thread, вы можете использовать исполнители.

import java.util.concurrent.Executor;
import java.util.concurrent.Executors;
public class Testes {
    public static void main(String[] args) {
        Executor executor = Executors.newSingleThreadExecutor();
        executor.execute(new Testes.A());
        executor.execute(new Testes.A());
        executor.execute(new Testes.A());
    }   
    public static class A implements Runnable{      
        public void run(){          
            System.out.println(Thread.currentThread().getId());
        }
    }
}

Запустив это, вы увидите, что тот же поток используется для всех объектов Runnable.

2
задан Edgarth 13 July 2018 в 08:33
поделиться

1 ответ

Проблема заключается в том, что числа форматируются с использованием запятых в виде десятичных разделителей, что требует их цитирования в CSV, поскольку запятые иначе понимаются как разделители полей.

Причина, по которой PHP выводит поплавки запятыми вместо периодов, либо потому, что ваши данные отформатированы как таковые, либо потому, что вы установили локаль, которая определяет ее таким образом. Например ::

setlocale(LC_NUMERIC, 'de_DE.UTF-8');
echo 1.2345;  // 1,2345

Возможно, пользователь вашего пользователя и пользователя веб-сервера cron имеет разные настройки языкового стандарта.

2
ответ дан deceze 17 August 2018 в 13:20
поделиться
  • 1
    Это он, не заметил, что разделение отличается: float (6359.91) vs float (6359,91) – Edgarth 13 July 2018 в 08:46
Другие вопросы по тегам:

Похожие вопросы: