вокруг в PHP показывает экспоненциальное представление вместо полного числа

Удалось передать значения в дочернюю функцию getInitialProps, предоставив их в качестве аргументов:

  static async getInitialProps (ctx) {
    let language;
    if (ctx.req) {
        language = ctx.req.session.language;
    } else {
        language = localStorage.getItem('language');
    }
    let props = {}
    if (Page.getInitialProps) {
        const pageProps = await Page.getInitialProps(ctx, language); // <--- this
        props = { ...pageProps, language }
    }
    return props;
  }

Затем в дочернем компоненте getInitialProps я смог получить доступ к новому аргументу:

static async getInitialProps({ query }, language) {

    console.log("is language passed through: ", language); // "en"
    const jobStatus = query.jobStatus;

    return { jobStatus }
}
11
задан aksu 31 January 2014 в 20:13
поделиться

3 ответа

Кажется, что вокруг была проблема. Я изменил его с number_format() и это делает задание очень хорошо. Спасибо Aron и Paul для ответов.

10
ответ дан 3 December 2019 в 05:59
поделиться

Возможно связанный с этим отчетом об ошибках, таким образом, Вы могли попробовать

printf("%d", $myvar);
3
ответ дан 3 December 2019 в 05:59
поделиться

Связанный с Вашим вопросом, я также столкнулся с этим комментарием к веб-сайту PHP.

PHP переключается от стандартной десятичной записи до экспоненциального представления для определенных "специальных" плаваний. Вы видите частичный список таких "специальных" значений с этим:

for( $tmp = 0, $i = 0; $i < 100; $i++ ) 
{
    $tmp += 100000;
    echo round($tmp),"\n"; 
} 

Так, если Вы добавите два плавания, закончите со "специальным" значением, например, 1.2E+6, затем поместите то значение, неизмененное в запрос на обновление для хранения значения в десятичном столбце, скажем, то Вы, вероятно, получите неудавшуюся транзакцию, так как база данных будет видеть "1.2E+6" как varchar данные, не десятичные. Аналогично, Вы, вероятно, получите ошибку проверки XSD при помещении значения в xml.

Я должен быть честным: это - одна из самых странных вещей, которые я видел на любом языке за более чем 20 лет кодирования, и это - колоссальная боль для работы вокруг.

Кажется, что еще не было "реальной" фиксации, но судящий по комментариям в отчете об ошибках Paul Dixon referered к ранее, его решение, кажется, работает.

7
ответ дан 3 December 2019 в 05:59
поделиться
Другие вопросы по тегам:

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