NUMBER_FORMAT的行为不一致

时间:2017-06-25 作者:user41091

我试图在表格单元格中设置一个数字的格式,该单元格中的逗号分隔符在数千之间。数字来自高级自定义字段插件中生成的自定义字段,该字段必须是数字。

(但我也尝试在下面的示例中直接输入数字。)

我得到了正确的数值,但格式不起作用。另外,我从表格单元格内部和外部的number\\u格式中得到不同的结果。

我的号码是429000,由\\u字段(“价格”)检索。

以下是我在牢房里试过的:

<td class="pl-property-price"><?php number_format( the_field(\'price\')); ?> </td>
<td class="pl-property-price"><?php number_format((int) the_field(\'price\')); ?> </td>
<td class="pl-property-price"><?php number_format( intval(the_field(\'price\'))); ?> </td>
<td class="pl-property-price"><?php number_format( the_field(\'price\'), 0, ".", ","); ?> </td>
以及其他一些变体。

无论我做什么,它都会输出429000,不带逗号分隔符。

现在,如果我尝试在表外回显值,使用这样的代码和上面的所有类似变体,使用

<?php echo number_format(the_field(\'price\')); ?>
我得到4290000,再加上一个零。

我很困惑。

3 个回复
最合适的回答,由SO网友:BenB 整理而成

看起来您使用的函数是the_field 函数自,共ACF 这是一个输出字符串的函数,因此格式化数字\\u format dosent会影响输出。

此代码:

 <?php echo number_format(the_field(\'price\')); ?>
echo并不真正打印任何内容,函数The\\u fields打印输出,这就是number\\u format函数对输出没有任何影响的原因。

尝试通过不同的函数获取字段get_field 例如,也可以将函数the\\u fields添加为$format\\u value参数,如中所示docs .

这应该可以:

<?php echo number_format( get_field( \'price\' ) ); ?>

SO网友:Marcos Nakamine

  • get_field(): 返回特定字段的值
  • the_field(): 显示特定字段的值
正确的代码段如下所示:

<?php echo number_format( get_field( \'price\' ) ); ?>

SO网友:Den Isahac

在您的情况下,您需要使用get_field 函数而不是the_field.

the_field 响应该值,而get_field 返回一个值,您可以将该值作为参数值传递给number_format.

<?php echo number_format(get_field(\'price\')); ?>
您还可以了解有关number_format

结束

相关推荐

Lost formatting after saving

我在visual editor中对文本进行基本格式化。保存时,所有内容都丢失了,格式、空格、段落。。。。一切都已就绪。。。我会发疯的!。。。为什么会这样?。。我可以根据gt的要求进行测试以解决此问题。。提前感谢DB和WP已重新安装,并托管在hostpapa上。我在iweb上有其他客户,这些客户工作得很好。我现在别无选择,要让它在hostpapa上运行,迁移到iweb将是最后的选择!我正在使用qtranslate,它可以是插件bug编辑器

NUMBER_FORMAT的行为不一致 - 小码农CODE - 行之有效找到问题解决它

NUMBER_FORMAT的行为不一致

时间:2017-06-25 作者:user41091

我试图在表格单元格中设置一个数字的格式,该单元格中的逗号分隔符在数千之间。数字来自高级自定义字段插件中生成的自定义字段,该字段必须是数字。

(但我也尝试在下面的示例中直接输入数字。)

我得到了正确的数值,但格式不起作用。另外,我从表格单元格内部和外部的number\\u格式中得到不同的结果。

我的号码是429000,由\\u字段(“价格”)检索。

以下是我在牢房里试过的:

<td class="pl-property-price"><?php number_format( the_field(\'price\')); ?> </td>
<td class="pl-property-price"><?php number_format((int) the_field(\'price\')); ?> </td>
<td class="pl-property-price"><?php number_format( intval(the_field(\'price\'))); ?> </td>
<td class="pl-property-price"><?php number_format( the_field(\'price\'), 0, ".", ","); ?> </td>
以及其他一些变体。

无论我做什么,它都会输出429000,不带逗号分隔符。

现在,如果我尝试在表外回显值,使用这样的代码和上面的所有类似变体,使用

<?php echo number_format(the_field(\'price\')); ?>
我得到4290000,再加上一个零。

我很困惑。

3 个回复
最合适的回答,由SO网友:BenB 整理而成

看起来您使用的函数是the_field 函数自,共ACF 这是一个输出字符串的函数,因此格式化数字\\u format dosent会影响输出。

此代码:

 <?php echo number_format(the_field(\'price\')); ?>
echo并不真正打印任何内容,函数The\\u fields打印输出,这就是number\\u format函数对输出没有任何影响的原因。

尝试通过不同的函数获取字段get_field 例如,也可以将函数the\\u fields添加为$format\\u value参数,如中所示docs .

这应该可以:

<?php echo number_format( get_field( \'price\' ) ); ?>

SO网友:Marcos Nakamine

  • get_field(): 返回特定字段的值
  • the_field(): 显示特定字段的值
正确的代码段如下所示:

<?php echo number_format( get_field( \'price\' ) ); ?>

SO网友:Den Isahac

在您的情况下,您需要使用get_field 函数而不是the_field.

the_field 响应该值,而get_field 返回一个值,您可以将该值作为参数值传递给number_format.

<?php echo number_format(get_field(\'price\')); ?>
您还可以了解有关number_format

相关推荐

Formatting with <pre>

我正在构建一个不希望对条目内容应用任何样式的网站,因为它应该保留文本的格式。奇怪的是,它在旧条目上工作,但通过前端系统的新条目失败:http://madebylars.nl/music/?page_id=373示例:此方法有效:http://madebylars.nl/music/?tab=the-tallest-man-on-earth-love-is-all 这个不能:http://madebylars.nl/music/?tab=the-tallest-man-on-earth-like-