Удалось передать значения в дочернюю функцию 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 }
}
Кажется, что вокруг была проблема. Я изменил его с number_format()
и это делает задание очень хорошо. Спасибо Aron и Paul для ответов.
Возможно связанный с этим отчетом об ошибках, таким образом, Вы могли попробовать
printf("%d", $myvar);
Связанный с Вашим вопросом, я также столкнулся с этим комментарием к веб-сайту 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 к ранее, его решение, кажется, работает.